Crontab:Ubuntu 运行脚本(菜鸟)

Crontab:Ubuntu 运行脚本(菜鸟)

我是 crontab 的新手,想从以下位置运行以下脚本/etc/crontab

0 15    * * *   root    bash-c 'for i in /home/dell/Downloads/*.{pdf,docx,png,jpg,PDF,DOCX}; do shred -zvu "$i" -n20; done'

我尝试过使用和不使用bash-c选项,但脚本仍然无法运行。

我的目标是:

  1. 从 Crontab 运行此脚本
  2. 在启动时运行此脚本

非常感谢您的帮助。

答案1

bash命令和参数后缺少一个空格-c

这应该有效:

0 15    * * *  root bash -c 'for i in /home/dell/Downloads/*.{pdf,docx,png,jpg,PDF,DOCX}; do shred -zvu "$i" -n20; done'

一些额外的提示:

  • 如果不需要,请不要crontab以用户身份运行。root
  • 您写道,您将其放入了/etc/crontab文件中。不要直接编辑 crontab 文件,而对于需要权限的命令,请使用crontab -e命令或。请注意,不要将该字段放在“其他”文件中。sudo crontab -erootusercrontab
  • 如果你有多个命令,你可以bash -c像你一样使用,但我宁愿将命令放入脚本中并从 crontab 执行此操作。

  • 要在启动时运行脚本,您可以使用@reboot而不是0 15 * * *

相关内容