linux下面达梦自动备份并压缩

来源:网络 点击数: 发布时间:2021年10月09日

在数据库目录/home/dmdba里面建一个备份文件夹dbbak

cd  /home/dmdba/

mkdir dbbak

cd  /home/dmdba/dbbak

在/home/dmdba/dbbak创建一个shell文件,名为back.sh,赋予创建文件夹权限

touch back.sh

chmod 755 back.sh

进入编辑器

vim back.sh

录入脚本如下

chname=SITEAZURE

filename=$chname-$(date '+%Y%m%d%H%M%S')

echo $filename

chnamebak=dbbak

filenamebak=$chnamebak$(date '+%Y%m%d')

echo $filenamebak

## 设置环境变量

export DM_HOME=/home/dmdba/dmdbms

export PATH=$DM_HOME/bin:$DM_HOME/tool:$PATH:$HOME/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin

## 导出用户SITEAZURE的数据,USERID根据实际修改

/home/dmdba/dmdbms/bin/dexp USERID=siteazure/SiteAzureCore2020@localhost:5236  directory=/home/dmdba/dbbak/ file=$filename.dmp log=$filename.log parallel=4

## 压缩备份文件和日志文件然后删除dmp和log文件

cd /home/dmdba/dbbak

tar zcvf $filenamebak.tar.gz *.dmp *.log --remove-files

## 保存30天备份文件,删除29天之前备份

find /home/dmdba/dbbak/ -mtime +29 -name "*.tar.gz" -exec rm -rf {} \;

:wq保存后测试脚本是否正常

sh -x test.sh 加上-x会显示错在哪,显示脚本里面的内容,根据报错信息修改内容

建立定时脚本

crontab -e 

00 02 * * * /home/dmdba/dbbak/back.sh

#每天2天自动备份一次

crontab -l

#查看添加的脚本

tail -f /var/log/cron.log

#查看脚本日志方法,如没有这个文件,详情查看下文启动定时任务日志方法

查看定时任务服务是否启动:service cron status
启动定时任务服务:service cron start
停止定时任务服务:service cron stop
重启定时任务服务:service cron restrat

----------------------------------------

启动定时任务日志方法

安装日志服务rsyslog

apt-get install rsyslog

启动服务
service rsyslog start

 

vim /etc/rsyslog.d/50-default.conf   

# 若文件不存在新建该文件并写入 cron.*    /var/log/cron.log

service rsyslog restart

service cron restart