我是 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
选项,但脚本仍然无法运行。
我的目标是:
- 从 Crontab 运行此脚本
- 在启动时运行此脚本
非常感谢您的帮助。
答案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 -e
root
user
crontab
如果你有多个命令,你可以
bash -c
像你一样使用,但我宁愿将命令放入脚本中并从 crontab 执行此操作。要在启动时运行脚本,您可以使用
@reboot
而不是0 15 * * *
。