Linux版本號碼:14.04.1-Ubuntu x86_64
備份伺服器位址為:172.29.71.59,備份根路徑為/home/backup
1.git代碼倉庫每日自動備份:
伺服器位址:172.29.71.111,git指定目錄:00.apps,備份路徑為:/home/backup/CodeServer_111
步驟一:
cd /home/backup/CodeServer_111
git clone --mirror git@172.29.71.111:00.apps
git clone --mirror拷貝一份git庫,包含遠程最新分支以及曆史提交記錄。
步驟二:
cd /etcvim crontab
修改crontab檔案,添加每日備份定時任務
# /etc/crontab: system-wide crontab# Unlike any other crontab you don't have to run the `crontab'# command to install the new version when you edit this file# and files in /etc/cron.d. These files also have username fields,# that none of the other crontabs do.SHELL=/bin/shPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin# m h dom mon dow usercommand17 ** * *root cd / && run-parts --report /etc/cron.hourly25 6* * *roottest -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )47 6* * 7roottest -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )52 61 * *roottest -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )#CodeServer_1110 0 * * * root git --git-dir=/home/backup/CodeServer_111/00.apps.git remote update
步驟三:
修改crontab檔案後,運行如下命令生效:
service cron restart
每日00:00將172.29.71.111伺服器上最新的00.apps(git庫)同步到備份伺服器上。
2.公用倉庫每日自動備份:
伺服器位址:172.29.71.57,備份路徑為:/home/backup/PublicServer_57
步驟一:
cd /home/backup/PublicServer_57
vim backup_public.sh
建立一個backup_public.sh指令碼用於公用倉庫每日自動備份。具體代碼如下:
#!/bin/bashfunction backup(){ publichome=172.29.71.57# rsync && add password/usr/bin/expect <<-EOFset timeout 300spawn rsync --delete -r public@$publichome:/home/public .expect "public@$publichome's password:"send "public\r"send "exit\r"expect eofEOF }backup
rsync:同步命令 --delete -r :如果源端沒有此檔案,那麼目的端也不能有,強制同步刪除(-r :recursive,遞迴的,用於同步資料夾)。
將公用倉程式庫伺服器172.29.71.57上/home/public目錄下的檔案夾內容同步到備份伺服器上。
步驟二:
cd /etcvim crontab
修改crontab檔案,在檔案末尾繼續添加每日備份定時任務
#PublicServer_5730 1 * * * root cd /home/backup/PublicServer_57 && /home/backup/PublicServer_57/backup_public.sh
步驟三:
修改crontab檔案後,運行如下命令生效:
service cron restart
每日1:30將172.29.71.57伺服器上/home/public目錄下的檔案夾內容同步到備份伺服器上。
3.軟體倉庫每日自動備份:
伺服器位址:172.29.71.47,備份路徑為:/home/backup/SoftServer_47
步驟一:
cd /home/backup/SoftServer_47
vim backup_softserver.sh
建立一個backup_softserver.sh指令碼用於軟體倉庫每日自動備份。具體代碼如下:
#!/bin/bashfunction backup(){ softhome=172.29.71.47 # rsync && add password /usr/bin/expect <<-EOF set timeout 300 spawn rsync --delete -r soft@$softhome:/home/iptv/Release/CI_RELEASE/DSV1 . expect { "(yes/no)?" { send "yes\r" expect "soft@$softhome's password:" send "soft\r" } "soft@$softhome's password:" { send "soft\r" } } send "exit\r" expect eof EOF}backup
rsync:同步命令 --delete -r :如果源端沒有此檔案,那麼目的端也不能有,強制同步刪除(-r :recursive,遞迴的,用於同步資料夾)。
將軟體倉程式庫伺服器172.29.71.47上/home/iptv/Release/CI_RELEASE/DSV1目錄下的檔案夾內容同步到備份伺服器上。
步驟二:
cd /etcvim crontab
修改crontab檔案,在檔案末尾繼續添加每日備份定時任務
#SoftServer_4740 1 * * * root cd /home/backup/SoftServer_47 && /home/backup/SoftServer_47/backup_softserver.sh
步驟三:
修改crontab檔案後,運行如下命令生效:
service cron restart
每日1:40將172.29.71.47伺服器上/home/iptv/Release/CI_RELEASE/DSV1目錄下的檔案夾內容同步到備份伺服器上。