当另一个程序使 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/****
(其中 ****
从 0000
到 FFFF
并且每天递增)。
您可以使用示例脚本执行此操作:
dir=$(ls -tr1 /var/lib/test|tail -1)
cd /var/lib/test/$dir && cp *.zip /home/bobby/
ls
获取按时间倒序排列的文件列表,所以最后一个是最后一个目录。然后我们进一步使用它。
我有一个 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/****
(其中 ****
从 0000
到 FFFF
并且每天递增)。
您可以使用示例脚本执行此操作:
dir=$(ls -tr1 /var/lib/test|tail -1)
cd /var/lib/test/$dir && cp *.zip /home/bobby/
ls
获取按时间倒序排列的文件列表,所以最后一个是最后一个目录。然后我们进一步使用它。