记录 Linux 禅道备份过程

背景:

部门使用的禅道系统部署在公司内网Linux 服务器上,上次服务器突然网卡坏了,里面的数据差点拿不出来。 于是动手研究禅道的备份方法。

 

思路:

对于Windows 版本来说,备份很简单,只需要把整个目录复制备份一下就好了;而对于Linux 版本这种方式似乎不可行,而且整个目录备份的方式会比较臃肿。

从备份恢复的角度: 使用禅道安装软件安装完一次后,恢复时只需要导入备份的数据库sql 和附件、截图等文件即可。 所以备份也可以采取同样的方式,分别备份数据库和附件目录就可以了。

 

参考网上的Linux 脚本, 写了以下 sh 脚本:

 

备份数据库:

file=/opt/zentaobackup/backup"$(date +"%y%m%d%H%M%S")".sql

/opt/lampp/bin/mysqldump --opt --force -u root  -p''  zentao > $file

gzip $file

执行这个脚本时,可以把当前的数据库备份导出,并对备份文件进行压缩。

 

备份所有文件:

tar -cvzf /opt/zentaobackup/filebackupall"$(date +"%y%m%d%H%M%S")".tar.gz /opt/lampp/htdocs/zentaopms/www/data/upload/*

执行这个脚本时,把禅道的 upload 目录打包备份。

 

备份当前月份文件:

由于upload 目录的文件是按月份增量增加的,所以考虑日常维护时每天只备份当前月份的文件目录,所以文件的备份可以定期(比如每个月)执行一次,减少备份的文件数量。

例如备份3月份的文件:

 

tar -cvzf /opt/zentaobackup/filebackup"$(date +"%y%m%d%H%M%S")".tar.gz /opt/lampp/htdocs/zentaopms/www/data/upload/1/201703/*

 

自动备份执行:

在服务器中添加一个定时任务,每天自动执行以上的备份脚本:

输入 crontab  -e  命令编辑crontab服务文件,添加以上脚本,设置为每天10点执行,举例如下:

00  10  * * * /opt/zentaobackup/backup.sh

 

至此备份工作就基本完成了,每天10点会自动执行以上的备份脚本。

 

 

附上crontab 任务调度文件的格式:

具体格式如下:
      Minute Hour Day Month Dayofweek   command
      分钟     小时   天     月       天每星期       命令
     每个字段代表的含义如下:
     Minute             每个小时的第几分钟执行该任务
     Hour               每天的第几个小时执行该任务
     Day                 每月的第几天执行该任务
     Month             每年的第几个月执行该任务
     DayOfWeek     每周的第几天执行该任务
     Command       指定要执行的程序
     在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选

    字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。
    举例如下:
    5       *       *           *     *     ls             指定每小时的第5分钟执行一次ls命令
    30     5       *           *     *     ls             指定每天的 5:30 执行ls命令
    30     7       8         *     *     ls             指定每月8号的7:30分执行ls命令
    30     5       8         6     *     ls             指定每年的6月8日5:30执行ls命令
    30     6       *           *     0     ls             指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,

    以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等。]

   30     3     10,20     *     *     ls     每月10号及20号的3:30执行ls命令[注:“,”用来连接多个不连续的时段]

    25     8-11 *           *     *     ls       每天8-11点的第25分钟执行ls命令[注:“-”用来连接连续的时段]

    */15   *       *           *     *     ls         每15分钟执行一次ls命令 [即每个小时的第0 15 30 45 60分钟执行ls命令 ]

     30   6     */10         *     *     ls       每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls 命令。 ]

     每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件

     50   7       *             *     *     root     run-parts     /etc/cron.daily   [ 注:run-parts参数表示,执行后面目录中的所有可执行文件。 ]


 

 

阅读 1

投诉

转载于:https://my.oschina.net/u/1447352/blog/1491525

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值