我想在 12h01 列出文件。我该如何设置 crontab 来执行此操作?
pedro@Pedro-PC:~/PL/trab4$ crontab -l
# 01 12 * * * ls -l
答案1
尝试把
ls -l
命令放入一个小的 bash 脚本中...命名文件listfiles
作为示例
放在listfiles
类似的地方/usr/bin
使用以下命令使 listfiles 可执行
sudo chmod +x listfiles
然后将你的 crontab 更改为
01 12 * * * /usr/bin/listfiles
答案2
您也可以(对于较小的命令,我更喜欢这样做)执行您最初所做的操作,但使用 ls 二进制文件的完整路径。Crontab 运行时使用的 $PATH 比您使用的要小,这就是我们为 ls 提供完整路径的原因。
IE:
01 12 * * * /bin/ls /home/user/
您可以使用以下方式获取二进制文件的路径
which ls
答案3
正如我在您的另一个问题中所述,您可以在本地邮件中查看来自和的错误和cron
警告at
。
你的 cronjob 是错误的,它应该是这样的:
01 12 * * * ls -l [somedir] > [带有结果的一些文件]
[somedir] 是您想要列出的目录。
[一些带有结果的文件] 是存储结果的文件的路径。