写个shell脚本,删除访问时间超过60分钟的文件
时间: 2023-06-18 21:08:42 浏览: 56
可以使用 `find` 命令和 `-amin` 参数来实现,其中 `-amin` 表示访问时间超过多少分钟。
以下是示例脚本:
```bash
#!/bin/bash
# 定义要删除文件的目录和分钟数
dir="/path/to/directory"
minutes=60
# 使用 find 命令查找访问时间超过 $minutes 分钟的文件,并删除
find "$dir" -type f -amin +"$minutes" -delete
echo "Done!"
```
注意,这个脚本会直接删除文件,请谨慎使用。可以先用 `-print` 参数来查看要删除的文件列表,确保不会误删重要文件。
相关问题
写一个nginx日志切割shell脚本,保留30天的文件
好的,以下是答案:
您可以使用以下Shell命令编写一个nginx日志切割脚本,以保留30天的文件:
```shell
#!/bin/bash
LOG_DIR=/var/log/nginx
OLDLOG_DIR=/var/log/nginx/oldlogs
COMPRESSION_TOOL='gzip'
find ${LOG_DIR} -type f -iname "access.log*" -mtime +29 -delete
mv ${LOG_DIR}/access.log ${OLDLOG_DIR}/access-$(date +%Y%m%d%H%M%S).log
kill -USR1 $(cat /var/run/nginx.pid)
cd ${OLDLOG_DIR}
for i in $(ls -1 access*log); do
${COMPRESSION_TOOL} $i
done
```
这个脚本将删除30天前的所有访问日志文件并将当前的访问日志文件从`${LOG_DIR}/access.log`移动到`${OLDLOG_DIR}`,并触发Nginx重新打开日志文件。随后,它将所有已轮换的日志文件压缩。
写一个shell 删除7天之前的文件
好的,请尝试以下Shell脚本:
```bash
#!/bin/bash
find /path/to/directory -type f -mtime +7 -delete
```
将`/path/to/directory`替换为要删除文件的目录路径。该脚本将搜索该目录中7天前修改或访问的文件,并将其删除。请确保在运行脚本之前备份您的文件。