使用 crontab 制定定时任务
目标
- 每分钟清理当前分钟之前的图片。 [可选]
- 每小时清理当前小时之前的图片。 [可选]
- 每天清理当前日期之前的图片。 [可选]
环境
- 操作系统:Ubuntu 22.04 (jetson)
- 需要清理的文件夹:/home/nvidia/install/Snapshot
步骤
1. 编写清理脚本
-  创建清理脚本: sudo gedit /home/nvidia/install/cleanup_images.sh
-  编辑脚本,输入以下内容:(可选就是选择其中一个,不需要的注释起来) #!/bin/bash# 设置日志文件路径 LOG_FILE="/home/nvidia/install/cleanup_images.log"# 获取当前日期和时间 CURRENT_DATE=$(date +%Y-%m-%d) CURRENT_HOUR=$(date +%H) CURRENT_MINUTE=$(date +%M)# 每分钟清理当前分钟之前的图片 [可选] find /home/nvidia/install/Snapshot -type f -name "*.jpg" -mmin +1 -exec rm -f {} \; echo "$(date): Cleaned up images older than $CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE (minute)" >> $LOG_FILE# 每小时清理当前小时之前的图片 [可选] find /home/nvidia/install/Snapshot -type f -name "*.jpg" -mmin +60 -exec rm -f {} \; echo "$(date): Cleaned up images older than $CURRENT_DATE $CURRENT_HOUR:00 (hour)" >> $LOG_FILE# 每天清理当前日期之前的图片 [可选] find /home/nvidia/install/Snapshot -type f -name "*.jpg" -mtime +1 -exec rm -f {} \; echo "$(date): Cleaned up images older than $CURRENT_DATE 00:00 (day)" >> $LOG_FILE
-  保存并关闭编辑器 
-  使脚本可执行: sudo chmod +x /home/nvidia/install/cleanup_images.sh
2. 编辑 crontab 文件
 
-  使用 vim编辑crontab文件:EDITOR=vim crontab -e
-  添加多种清理任务: (可选就是选择其中一个,不需要的注释起来) # 每分钟清理当前分钟之前的图片 [可选] * * * * * /home/nvidia/install/cleanup_images.sh# 每小时清理当前小时之前的图片 [可选] 0 * * * * /home/nvidia/install/cleanup_images.sh# 每天清理当前日期之前的图片 [可选] 0 0 * * * /home/nvidia/install/cleanup_images.sh
-  保存并退出: - 按 Esc键进入命令模式。
- 输入 :wq保存并退出。
 
- 按 
3. 验证 cron 任务
 
-  检查 cron任务是否已添加:crontab -l你应该能看到类似以下的输出: * * * * * /home/nvidia/install/cleanup_images.sh 0 * * * * /home/nvidia/install/cleanup_images.sh 0 0 * * * /home/nvidia/install/cleanup_images.sh
-  检查 cron日志,确保定时任务已成功执行:sudo tail -f /home/nvidia/install/cleanup_images.log预期输出: - 你应该能看到 cron任务的执行日志。
 
- 你应该能看到 
-  检查清理日志,确保脚本已成功执行: cat /home/nvidia/install/cleanup_images.log预期输出: - 你应该能看到类似以下的记录:2024-11-19 15:01:00: Cleaned up images older than 2024-11-19 15:00 (minute) 2024-11-19 15:00:00: Cleaned up images older than 2024-11-19 14:00 (hour) 2024-11-19 00:00:00: Cleaned up images older than 2024-11-18 00:00 (day)
 
- 你应该能看到类似以下的记录: