1、备份规则:
在生产环境中有若干服务器需要定时将服务器中应用程序,以及数据库等进行备份。要求在本地服务器中保存近一周的备份,备份服务器中保存最近一月的备份文件。
以服务器A为例:在服务器A上有应用程序业务及(/ucap/UServer_V5.5.1_5002),有数据库业务(mongodb和mysql)需要将以上三个业务进行备份,且在A服务器上创建backup-dir将备份文件存放在目录下,每日凌晨进行备份,并将备份文件上传至备份服务器(NFS),在平时备份服务器与服务器A不会有联系,即只是在上传备份文件,服务器A自动挂载备份文件共享目录,备份完成卸载目录。本地服务器保存近一周文件,备份服务器保存近30日备份文件。
2、具体实现如下步骤:
1 #delet backup when is sunday 周日删除上周文件。 2 WEEK=$(date +%w) 3 BACKUP_ROOT=/backup 4 BACKUP_DIR=/backup/backup_full_`date +%F` 5 if [ -e $BACKUP_ROOT ] 6 then 7 cd $BACKUP_ROOT #如果/backup目录存在,进入目录。 8 if [ $WEEK -eq 0 ] 9 then 10 rm -rf $BACKUP_ROOT/* #如果进入是星期天(0表示星期天)执行删除/backup下所有的备份文件。 11 fi 12 if [ $? -eq 0 ] #判断是否删除成功 13 then 14 action "old-backup is remove." /bin/true 15 fi 16 17 fi 18 ####mkdir backup-dir #创建本地备份目录。如果目录存在则输出目录已经存 19 #在,否则表示不存在目录则创建包含时间的目录文件目录 20 if [ -e $BACKUP_DIR ] 21 then 22 action "$BACKUP_DIR had been created." /bin/true 23 else 24 #含当前时间的目录文件实际可以用$BACKUP_DIR 25 mkdir -p /backup/backup_full_`date +%F` 26 action "$BACKUP_DIR is creating." /bin/true 27 fi