【发布时间】:2013-04-09 23:33:36
【问题描述】:
我有一个脚本,我每周通过一个 cron 运行该脚本,该脚本会删除我的 Web 服务器上的大量临时文件,但我刚刚注意到该脚本并未删除仍占用空间的文件夹。
修改脚本以删除文件夹的最佳方法是什么?
find /my/path/ -type d –ctime +5 –exec rm -r {} \;
#!/bin/bash
# Deletes temp files older then 5 days
DOCS='/var/www/user/docs/temp'
SCRATCH='/var/www/user/temp/scratch'
if [ -d "$DOCS" ]; then
find $DOCSJS -type f -mtime +5 -exec rm -rf {} \; > /tmp/docs.txt
fi
if [ -d "$SCRATCH" ]; then
find $SCRATCH -type f -mtime +5 -exec rm -rf {} \; > /tmp/docs.txt
fi
我的脚本实际上有 -rf 作为删除所有文件夹的标志。
需要注意的一点是,上面的文件夹是指向/mnt/sdb1/docs/js 和/mnt/sdb1/temp/scratch 的符号链接——脚本会跟随符号链接还是我应该将其硬编码到挂载上?
【问题讨论】:
-
删除文件夹使用
rm -rf普通rm不要删除文件夹 -
抱歉我修改了问题,因为我已经有了那个标志
标签: linux bash file-io delete-directory