Linux下git代碼倉庫&&公用倉庫&&軟體倉庫每日自動備份__Linux

來源:互聯網
上載者:User

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目錄下的檔案夾內容同步到備份伺服器上。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.