如何使用 crontab 创建一个目录,并在五分钟后在该目录中创建一个 txt 文件?

如何使用 crontab 创建一个目录,并在五分钟后在该目录中创建一个 txt 文件?

基本上我想在某个固定时间创建一个目录,并且在五分钟后,我想在该目录中创建一个文本文件。

我尝试了这段代码,但没有成功

6 13 * * * /usr/bin/mkdir /qwerty /usr/bin/touch file1

答案1

这是您要求 cron 运行的命令:

/usr/bin/mkdir /qwerty /usr/bin/touch file1

mkdir使用树参数调用:/qwerty/usr/bin/touchfile1。因此,mkdir将尝试将它们创建为目录。您可能打算将它们作为两个单独的命令运行:

 6 13 * * * /usr/bin/mkdir /qwerty
11 13 * * * /usr/bin/touch /qwerty/file1

另一种风格可以将其作为单行代码:

6 13 * * * /usr/bin/mkdir /qwerty && sleep 5m && /usr/bin/touch /qwerty/file1

请注意,使用 cron 来执行一次性作业是很奇怪的;正如对你的问题的评论中提到的,at 工作会更有意义。

此外,除非允许用户在 下创建目录,否则这仍然会失败/

答案2

$ echo "mkdir test && sleep 300 && touch test/file" | at 06:13

这将安排回显命令在 06:13 运行。如果 06:13 已经过去,则将于明天该时间运行。

工作的任何输出都将邮寄给您。

at手册提供了您可以指定时间的不同方式。

相关内容