linux下面达梦自动备份并压缩
在数据库目录/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