我使用此选项
在 autodelete.sh 中
rm -rf /home/user/Public/!("VIP Folder")
在 Crontab 中
0 20 * * 0 /home/autodelete.sh
但它不起作用。
答案1
该!(pattern)
语法是 bash 扩展通配符功能的一部分,默认情况下不启用此功能。您需要确保您的脚本使用的是bash
而不是sh
,并且需要启用相关选项。因此,请让您的autodelete.sh
文件看起来像这样:
#!/bin/bash
shopt -s extglob
rm -rf /home/user/Public/!("VIP Folder")
在这种情况下,引号是可选的,但也不会造成任何损害,而且是一个好习惯。
此外,您的 crontab 行将每天 20:00 运行此命令,而不仅仅是每个星期日。要在星期日 20:00 运行它,请使用:
0 20 * * 0 /home/autodelete.sh