基本上我想在某个固定时间创建一个目录,并且在五分钟后,我想在该目录中创建一个文本文件。
我尝试了这段代码,但没有成功
6 13 * * * /usr/bin/mkdir /qwerty /usr/bin/touch file1
答案1
这是您要求 cron 运行的命令:
/usr/bin/mkdir /qwerty /usr/bin/touch file1
这mkdir
使用树参数调用:/qwerty
、/usr/bin/touch
和file1
。因此,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
手册提供了您可以指定时间的不同方式。