Linux 通過腳本實現遠程數據的自動備份
作者:xcbeyond
瘋狂源自夢想,技術成就輝煌!微信公眾號:《程序猿技術大咖》號主,專注后端開發(fā)多年,擁有豐富的研發(fā)經驗,樂于技術輸出、分享,現階段從事微服務架構項目的研發(fā)工作,涉及架構設計、技術選型、業(yè)務研發(fā)等工作。對于Java、微服務、數據庫、Docker有深入了解,并有大量的調優(yōu)經驗。
在數據化飛速發(fā)展的今天,數據的定期備份成了數據安全首要考慮的問題。一旦出現了問題或故障,導致數據無法正常讀取,那么原有的重要數據又如何得以保存下來呢。當然不能采用本機備份了,這樣的備份風險很大,極有可能雞飛蛋打,如果機器都宕掉了,本機備份的數據也就沒法利用啦。因此,采取遠程服務器作為備份機(遠程數據備份)就變的很重要了。
遠程手動備份費時費力而且還不及時,最好的辦法就是通過腳本實現遠程自動備份。但遠程備份無論是通常通過SSH方法登陸到業(yè)務服務器(數據服務器),通過scp拷貝文件時都說需要不斷輸入登錄密碼。為了解決這個問題可以采用“SSH證書登錄方式”,實現SSH無需輸入密碼來進行登錄啦。說了這么多的廢話,現在就開始一步步動手做吧。
1.配置“SSH證書登錄方式(無密碼驗證登錄)”
※具體配置請參看SSH證書登錄方式(無密碼驗證登錄)
2.編輯crontab文件
※crontab是Linux下的一個命令,位于/etc/crontab,用來將指定的腳本等在指定的時間進行執(zhí)行,即:定時用來某個任務。
如設置每天凌晨1:00執(zhí)行cron.daily中的腳本:
00 1 * * * root run-parts /etc/cron.daily
3.編輯自動備份腳本
在/etc/cron.daily/目錄下放入腳本
cd /etc/cron.daily/
vi bakeup_script
pg_dump -U postgres voipack > /voipack.sql
pg_dump -U postgres regserver > /regserver.sql
tar -cvjf /aavm.tgz.bz2 /usr/local/aavm
tar -cvjf /oracle.tgz.bz2 /var/oracle
scp /voipack.sql root@218.242.214.20:/root/218.242.214.23_backup
scp /regserver.sql root@218.242.214.20:/root/218.242.214.23_backup
scp /aavm.tgz.bz2 root@218.242.214.20:/root/218.242.214.23_backup
scp /oracle.tgz.bz2 root@218.242.214.20:/root/218.242.214.23_backup
通過以上操作就完成了數據的遠程備份。