sto*_*obi 6 linux directory bash rm crontab
所以我在这里查看了有关删除超过14天的目录的每个脚本.我编写的脚本使用文件但由于某种原因它不删除目录.所以这是我的脚本.
#!/bin/bash
find /TBD/* -mtim +1 | xargs rm -rf
Run Code Online (Sandbox Code Playgroud)
所以这段代码成功删除了TBD中的FILES,但它留下了两个目录.我检查了它们的时间戳,根据时间戳,它们是自上次修改后至少2天.特别是12月16日16:10所以我无法弄清楚这一点.我运行的crontab每分钟运行一次并记录日志,它只显示日志.
+ /scripts/deletebackups.sh: :2:BASH_XTRACEFD=3xargs rm -rf
+ /scripts/deletebackups.sh: :2: BASH_XTRACEFD=3find /TBD/contents TBD/contents -mtime +1
Run Code Online (Sandbox Code Playgroud)
我使用内容,因为内容实际上是我们的pxe服务器中的人名.我检查了这两个目录中的每个文件和文件夹,它们的时间戳和它们应该是的父目录相同,但它仍然没有删除.
这可能是权限吗?我使用sudo nano deletebackups.sh编写了脚本当我在最左边的TBD下键入ls时,它显示了两个不会删除的目录中的drwxr-xr-x 3 hscadministrator root 4096 DEC 16 16:10.我对这些字母的含义并不过分熟悉.
我已经尝试过的这段代码的其他迭代
find /TBD/* -mtime +1 rm -r {} \;
Run Code Online (Sandbox Code Playgroud)
mti*_*935 12
要删除超过1天的/ TBD中的目录:
find /TBD -mtime +1 -type d | xargs rm -f -r
Run Code Online (Sandbox Code Playgroud)
将 -exec 和 -f 添加到您的查找中:
find /TBD/* -mtime +1 -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)
请注意,如果您要删除超过 14 天的文件,则需要更改 mtime:
-mtime +14
Run Code Online (Sandbox Code Playgroud)