linux 每日备份代码,Linux下git代码仓库&&公共仓库&&软件仓库每日自动备份

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目录下的文件夹内容同步到备份服务器上。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值