我的目录是根:
pwd
/
Run Code Online (Sandbox Code Playgroud)
我有以下目录:
drwxrwxrwx 4 root root 81920 Jun 4 09:25 imr_report_repo
Run Code Online (Sandbox Code Playgroud)
注意: imr_report_repo
是 NFS 共享。
这是fstab
清单imr_report_repo
:
netapp1:/imr_report_repos_stage /imr_report_repo nfs rw,bg,actimeo=0,nointr,vers=3,timeo=600,rsize=32768,wsize=32768,tcp 1 1
d imr_report_repo
Run Code Online (Sandbox Code Playgroud)
mount 中的一个文件:
$ ls -al
-rw-r--r-- 1 502 502 1273 Mar 21 2013 imr1_test.txt
Run Code Online (Sandbox Code Playgroud)
UID 502 不存在。如果我们在本地添加该 UID/GID:
$ groupadd -g 502 jimmy
$ useradd -g 502 -u 502 jimmy
Run Code Online (Sandbox Code Playgroud)
现在显示:
$ ls -al
-rw-r--r-- 1 jimmy jimmy 1273 Mar 21 2013 imr1_test.txt
Run Code Online (Sandbox Code Playgroud)
现在改为root:
$ su -
$ chown …
Run Code Online (Sandbox Code Playgroud) Oracle Linux 5.10
BASH 外壳
[oracle@src01]$ getconf ARG_MAX
131072
[oracle@srv01]$ ls -1 | wc -l
40496
#!/bin/bash
#
# delete files in /imr_report_repo that are older than 15-days
find /imr_report_repo/* -maxdepth 0 -type f -mtime +15 |
while read file
do
rm -f $file
done
/usr/bin/find: Argument list too long
Run Code Online (Sandbox Code Playgroud)
如果我没看错的话,允许的最大参数是 131,072,而我在这个目录中只有 40,496 个文件。我还没有检查过,但我可能正在尝试删除 40,000 个文件(超过 2 周)。