要清理过期的 Debian nohup 日志,您可以编写一个简单的 shell 脚本来实现这一目标。以下是一个示例脚本,用于删除指定目录下超过指定天数的 nohup 日志文件:
#!/bin/bash
# 设置日志文件所在的目录
LOG_DIR="/path/to/your/log/directory"
# 设置要删除的日志文件的过期天数
DAYS=7
# 计算过期日期
EXPIRATION_DATE=$(date -d "$DAYS days ago" +%s)
# 遍历目录下的所有 nohup 日志文件
for LOG_FILE in "$LOG_DIR"/*.log; do
# 获取文件的最后修改时间
FILE_MODIFICATION_DATE=$(stat -c %s "$LOG_FILE")
# 如果文件的最后修改时间早于过期日期,则删除文件
if [ $FILE_MODIFICATION_DATE -lt $EXPIRATION_DATE ]; then
rm "$LOG_FILE"
echo "Deleted expired log file: $LOG_FILE"
fi
done
要使用此脚本,请按照以下步骤操作:
cleanup_nohup_logs.sh。LOG_DIR 变量,将其设置为您的 nohup 日志文件所在的目录。DAYS 变量,设置您希望保留日志文件的天数。chmod +x cleanup_nohup_logs.sh。./cleanup_nohup_logs.sh。您还可以将此脚本添加到 cron 作业中,以便定期自动清理过期的 nohup 日志文件。要将其添加到 cron 作业,请执行以下命令:
crontab -e
然后在打开的编辑器中添加一行,如下所示(每天凌晨 1 点运行脚本):
0 1 * * * /path/to/your/cleanup_nohup_logs.sh
保存并退出编辑器。现在,脚本将按照指定的时间间隔自动运行,清理过期的 nohup 日志文件。