背景
业务系统运行于数据中心的服务器上,服务器安装centos 7系统,oracle数据库,数据库每日23点1分自动进行备份(备份以年月日命名,例如:20191218.dmp和20191218.log)。按业务连续性管理(BCM)要求,需要将自动备份的数据进行异地保存。
1、已在另一篇博文中部署了FTP服务器。
2、在数据中心服务器上部署自动ftp上传任务。
2.1、centos 7默认不能执行ftp命令,需要安装ftp客户端,推荐使用lftp客户端,不要使用ftp客户端,因为ftp上传大文件有兼容性问题。
#yum install lftp 安装LFTP客户端
2.2、使用oracle用户创建ftp上传shell脚本,将每日备份上传至FTP服务器,保留7天
$cd /dbbackup $vi ftp.sh
#!/bin/bash rq=`date -d "1 day ago" +%Y%m%d` deletetime=`date -d "8 day ago" +%Y%m%d` lftp -n 替换成FTP外网ip<<EOF login 替换成虚拟ftp用户名 ftp密码 cd / lcd /dbbackup rm $deletetime.dmp
rm $deletetime.log mput $rq.dmp $rq.log bye EOF echo "Upload to ftp successful!"
$chmod u+x ftp.sh
2.3、使用root用户创建定时任务shell脚本
#cd /dbbackup
#vi upload.sh
#!/bin/bash rq=`date +%Y%m%d` deletetime=`date -d "7 day ago" +%Y%m%d` rm -f /dbbackup/upload$deletetime.log su - oracle -c /dbbackup/ftp.sh > /dbbackup/upload$rq.log
#chmod u+x upload.sh
2.4、设置定时任务
#crontab -e 1 2 * * * /dbbackup/upload.sh 每日2点1分上传
#tail -f /var/spool/mail/root
查看crontab执行日志的记录或查看upload$rq.log