谁能告诉我这个脚本有什么问题?
它在 中不起作用cron
,但在我正常执行时工作正常。
警告:此命令很危险,可能会删除大量文件
#!/bin/bash
/bin/find . -maxdepth 1 -type d -ctime +2 -exec /bin/rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
所以让我们看看你在这里做什么:
/bin/find . -maxdepth 1 -type d -ctime +2 -exec /bin/rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
在当前目录( .
) 中找到超过 2 天前创建的所有文件夹并对其执行rm -rf
。
cronjob 的当前工作目录是用户主目录,对于root
/ sudo
cronjobs 是/root
.
如果你真的很幸运,你使用了sudo crontab
,它没有坏处,因为/root
目录在 Ubuntu 中通常不使用。
如果没有,您基本上删除了您家中超过 2 天的所有目录。这应该或多或少是重要的。Desktop
, Pictures
, Documents
, .config
...
你应该做什么:
使用完整路径:
/bin/find /path/to/my/folder -maxdepth 1 -type d -ctime +2 -exec /bin/rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
以任何方式
rm -rf
,除非您 100% 确定,否则不要使用它。