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.appsgit clone --mirror拷贝一份git库,包含远程最新分支以及历史提交记录。
步骤二:
cd /etc
vim 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/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow usercommand
17 ** * *root cd / && run-parts --report /etc/cron.hourly
25 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_111
0 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/bash
function backup()
{
publichome=172.29.71.57
# rsync && add password
/usr/bin/expect <
set timeout 300
spawn rsync --delete -r public@$publichome:/home/public .
expect "public@$publichome's password:"
send "public\r"
send "exit\r"
expect eof
EOF
}
backup
rsync:同步命令 --delete -r :如果源端没有此文件,那么目的端也不能有,强制同步删除(-r :recursive,递归的,用于同步文件夹)。
将公共仓库服务器172.29.71.57上/home/public目录下的文件夹内容同步到备份服务器上。
步骤二:
cd /etc
vim crontab修改crontab文件,在文件末尾继续添加每日备份定时任务
#PublicServer_57
30 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/bash
function backup()
{
softhome=172.29.71.47
# rsync && add password
/usr/bin/expect <
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 /etc
vim crontab修改crontab文件,在文件末尾继续添加每日备份定时任务
#SoftServer_47
40 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目录下的文件夹内容同步到备份服务器上。