centos 7自動備份文件到遠端FTP服務器


背景

業務系統運行於數據中心的服務器上,服務器安裝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

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM