首页 > 解决方案 > 安排 cronjob 每周将文件复制到不同的位置

问题描述

我需要帮助来安排我的服务器上的 cron 以在一个月内每周将特定文件复制到不同的位置。

这是我想要实现的目标,

然后这项工作将每月重复一次,我计划使用cp -rf命令覆盖旧文件。

有人可以阐明我如何实现这一目标吗?

标签: linuxshellcron

解决方案


下面的示例将在每个月的1 日、8 日、15 日和 22 日的凌晨 1 点服务器时间运行 cronjobs。

0 1 1 * * rsync -avz  /path/to/directory /path/to/destination/A
0 1 8 * * rsync -avz  /path/to/directory /path/to/destination/B
0 1 15 * * rsync -avz  /path/to/directory /path/to/destination/C
0 1 22 * * rsync -avz  /path/to/directory /path/to/destination/D

cronjobs 的格式是:

 +---------------- minute (0 - 59)
 |  +------------- hour (0 - 23)
 |  |  +---------- day of month (1 - 31)
 |  |  |  +------- month (1 - 12)
 |  |  |  |  +---- day of week (0 - 6) (Sunday=0 or 7)
 |  |  |  |  |
 *  *  *  *  *  command to be executed

我建议使用rsync而不是 cp 命令。如果涉及的文件很多,您还可以在执行复制之前创建一个 ZIP 或 Tar。

谢谢!


推荐阅读