我用我维护的几个网站运行一个相对简单的服务器。
我设置了一个crontab来转储mysql并每天压缩PHP。旋转超过一周,我有7个增量,无论发生了什么。然后使用相同的crontab将它们从服务器复制到另一个服务器上。
以mysql位为例
16 3 * * tue mysqldump filename > /var/backups/b-Tuesday/filename.sql
16 3 * * wed mysqldump filename > /var/backups/b-Wednesday/filename.sql
[etc]对于每个站点和过程中的scp部分来说,这都重复了PHP的压缩。
是否有一种方法可以让每个站点每天都有一个作业,可以将其保存到相关的当天备份文件夹中,而不是为我备份的每件事设置7个作业?
发布于 2009-05-08 15:06:48
在调用中使用date函数如何?
16 3 * * * mysqldump filename > /var/backups/b-`date +%A`/filename.sql发布于 2009-05-08 16:15:19
尝试一个shell脚本,如下所示:
#!/bin/bash
/usr/bin/mysqldump filename | /usr/bin/bzip2 -c > /var/backups/b-`date +%A`/filename.sql.bup.bz2这与我的/etc/cron.day/中的类似,但对您的路径进行了更改。我一直想用它来做更多的事情,但是它可以工作,而且备份也被很好地压缩了!
我的日期格式实际上是date +%Y%m%d给我更多的信息,但我保持备份超过7天。
发布于 2009-05-08 17:20:41
作为另一种选择,log转速命令将处理每天生成的文件的压缩、重命名(带有日期)、删除等操作。您可以每天调用转储命令,也可以每天调用log轮换一次。Log旋转式配置文件允许您指定要旋转的文件以及如何处理这些文件。
https://serverfault.com/questions/6326
复制相似问题