写一个程序,要求删除指定目录下超过7天的文件或文件夹并输出日志到文件
时间: 2024-02-09 16:07:59 浏览: 77
好的,以下是一个基于Shell脚本的实现方案:
```sh
#!/bin/bash
# 定义目标目录和日志文件路径
target_dir="/path/to/target/dir"
log_file="/path/to/log/file.log"
# 获取当前时间戳
now=$(date +%s)
# 遍历目标目录下的文件和文件夹
for file in $(ls $target_dir)
do
file_path=$target_dir/$file
# 如果是文件夹并且创建时间超过7天,则删除文件夹
if [ -d $file_path ] && [ $(expr $now - $(stat -c %Y $file_path)) -gt 604800 ]
then
rm -rf $file_path
# 记录日志
echo "删除文件夹:$file_path" >> $log_file
# 如果是文件并且创建时间超过7天,则删除文件
elif [ -f $file_path ] && [ $(expr $now - $(stat -c %Y $file_path)) -gt 604800 ]
then
rm -f $file_path
# 记录日志
echo "删除文件:$file_path" >> $log_file
fi
done
```
需要注意的是,该脚本同样会直接删除文件和文件夹,所以请谨慎使用。同时,日志文件路径需要根据实际情况修改。
阅读全文