所以我在这里查看了有关删除超过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) 所以我想做点什么,不确定是否可能.我有以下代码:
for i in {0..5}; do
if [[ -f ./user$i ]]; then
group$i=$(grep -w "group" ./user0|awk '{print $2}'|perl -lape 's/\s+//sg')
Run Code Online (Sandbox Code Playgroud)
我想要做的是为每个变量名称为{0..5}所以group1 group2 group3 group4的每个实例分配一个唯一变量.然后我将./user0更改为./user$i并根据我的序列创建一个动态变量列表.这可能吗?尝试执行此操作时出现以下错误,我不确定bash不喜欢我实际做了什么.
test.sh:第16行:group0 = j:找不到命令