当另一个程序使 cronjob 中的命令失败时,我如何使用 cronjob?

How can I use a cronjob when another program makes the commands in the cronjob fail?

我有一个 cd 进入目录并执行操作的 cron 作业。

例如:

0 12,00 * * * cd /var/lib/test/0001 && cp *.zip /home/bobby/

但是,在 /var/lib/test/0001 中创建 .zip 文件的程序每天都会更改目录名称。所以第二天,目录是 /var/lib/test/0002,第三天是 /var/lib/test/0003,依此类推。此模型无法更改。

当然,当目录从 0001 迁移到 0002 时,cronjob 失败。

有没有办法使用 cron 将 cd 变成 000* 然后 001* 等等,这样 cp 命令将是 运行 ?也许有另一种方法?谢谢。

编辑 3 月 13 日:

还有一个问题我觉得很难解决。

我只想 cp 超过特定文件大小的文件。我想将超过 28,000 字节的 .zip 文件复制到 /home/bobby/。如果它们小于 28,000 字节,则不会被复制。我该怎么做,谢谢?

和以前一样,这会发生在 /var/lib/test/****(其中 ****0000FFFF 并且每天递增)。

您可以使用示例脚本执行此操作:

dir=$(ls -tr1 /var/lib/test|tail -1)
cd /var/lib/test/$dir && cp *.zip /home/bobby/

ls 获取按时间倒序排列的文件列表,所以最后一个是最后一个目录。然后我们进一步使用它。