centos 7自动备份文件到远端FTP服务器

秋风瑟瑟 2019-12-29

背景

业务系统运行于数据中心的服务器上,服务器安装centos 7系统,oracle数据库,数据库每日23点1分自动进行备份(备份以年月日命名,例如:20191218.dmp和20191218.log)。按业务连续性管理(BCM)要求,需要将自动备份的数据进行异地保存。

1、已在另一篇博文中部署了FTP服务器。

2、在数据中心服务器上部署自动ftp上传任务。

2.1、centos 7默认不能执行ftp命令,需要安装ftp客户端

#yum install ftp
安装FTP客户端

2.2、使用oracle用户创建ftp上传shell脚本,将每日备份上传至FTP服务器,保留7天

$cd /dbbackup
$vi ftp.sh
#!/bin/sh
rq=`date -d "1 day ago" +%Y%m%d`
deletetime=`date -d "8 day ago" +%Y%m%d`
ftp -n 替换成FTP外网ip<<EOF
user 替换成虚拟ftp用户名 ftp密码
binarycd /
lcd /dbbackup
prompt offdelete $deletetime.dmpdelete $deletetime.log
mput $rq.dmp $rq.log
bye
EOF
echo "successful!"$chmod u+x ftp.sh

2.3、使用root用户创建定时任务shell脚本

#cd /dbbackup#vi ftpupload.sh
#!/bin/sh
su - oracle -c /dbbackup/ftp.sh#chmod u+x ftpupload.sh

2.4、设置定时任务

#crontab -e
1 2 * * * /dbbackup/ftpupload.sh
每日2点1分上传#tail -f /var/spool/mail/root查看crontab执行日志的记录

相关推荐