MST

星途 面试题库

面试题:Bash脚本自动化:复杂cron任务调度

要求使用cron调度一个Bash脚本,该脚本用于清理系统临时目录 /tmp 下超过30天未访问的文件。脚本需要具备日志记录功能,记录每次清理的文件列表及时间。请写出完整的Bash脚本内容以及对应的cron配置,以实现每周一凌晨2点执行此任务。
37.6万 热度难度
编程语言Bash

知识考点

AI 面试

面试题答案

一键面试

Bash脚本内容

#!/bin/bash

LOG_FILE="/var/log/tmp_cleanup.log"
TMP_DIR="/tmp"
DAYS=30

# 记录开始时间
echo "Cleanup started at $(date)" >> $LOG_FILE

# 查找并删除超过30天未访问的文件,并记录到日志
find $TMP_DIR -type f -atime +$DAYS -exec rm -f {} \; -print >> $LOG_FILE

# 记录结束时间
echo "Cleanup ended at $(date)" >> $LOG_FILE

cron配置

编辑crontab文件(例如使用 crontab -e),添加以下内容:

0 2 * * 1 /path/to/your/script.sh

/path/to/your/script.sh 替换为实际存放上述Bash脚本的路径。这样就可以每周一凌晨2点执行清理任务并记录日志。