08_计划任务习题记录

08.计划任务课后习题解释

1. 背景说明

在Linux系统中,cron服务用于管理周期性执行的任务,称为cron作业。crontab命令用于编辑cron作业,其格式为:

* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- 星期几 (0 - 6) (周日=0)
| | | +------- 月份 (1 - 12)
| | +-------- 日期 (1 - 31)
| +--------- 小时 (0 - 23)
+----------- 分钟 (0 - 59)

题目1

在Linux系统中备份脚本backup.sh需要在每周1-5的每天下午1点和晚上8点执行,下列哪个cron命令可以完成()

答案和解释

正确答案:d. 0 13,20 * * 1,2,3,4,5 backup.sh

a. 0 13,20 * 1,2,3,4,5 *    backup.sh           
b. 0 13,20 1,5 * *          backup.sh
c. * 13,20 * * 1,2,3,4,5    backuo.sh           
d. 0 13,20 * * 1,2,3,4,5    backup.sh

逐个解释选项:

  • 选项a:每天的13点和20点,在每月的1、2、3、4、5日执行,无论星期几
  • 选项b:每天的13点和20点,在每月的1日和5日执行,无论星期几
  • 选项c:每分钟执行,时间限定在13点和20点,星期1-5
  • 选项d:每天的13点和20点,星期1-5(即周一到周五)

使用场景

适用于需要在工作日的特定时间自动执行备份任务的场景,如数据库备份、文件归档等。

2. 创建定时任务执行脚本

新建/soft/scripts/httpd.sh文件,并让/soft/scripts/httpd.sh脚本在每天的00:10分执行

# 解决方案
1. 编写脚本/soft/scripts/httpd.sh
2. 使用crontab设置定时任务

# 执行命令
1. 编写脚本
vi /soft/scripts/httpd.sh

2. 设置定时任务
crontab -e

# 添加以下内容
10 0 * * * /soft/scripts/httpd.sh

# 保存退出

使用场景

适用于需要在特定时间启动或检查HTTP服务的状态,如每天凌晨检查服务是否正常运行。

3. 每周一打包备份目录

新建/backup目录,每周一下午5:50将/backup目录下的所有文件打包成 backup.tar.gz

# 解决方案
1. 创建/backup目录
mkdir -p /backup

2. 编写打包任务
crontab -e

# 添加以下内容
50 17 * * 1 tar -zcvf /backup/backup_$(date +\%F).tar.gz /backup/*

# 保存退出

使用场景

适用于每周定期备份重要文件目录,确保数据安全。

4. 转移超过7天的日志文件

书写一个定时任务,每天0点0分把/var/log/nginx下大于7天文件转移到/backup/2018_xx_xx的目录中

# 解决方案
1. 创建转移任务
crontab -e

# 添加以下内容
0 0 * * * mkdir -p /backup/$(date +\%Y_\%m_\%d) && find /var/log/nginx -type f -mtime +7 -exec mv {} /backup/$(date +\%Y_\%m_\%d) \;

# 保存退出

使用场景

适用于定期清理旧日志文件,保持日志目录的整洁。

5. 每隔7分钟执行脚本

系统脚本/soft/scripts/which.sh,如何定时每隔7分钟执行一次?

# 解决方案
1. 编写定时任务
crontab -e

# 添加以下内容
*/7 * * * * /soft/scripts/which.sh

# 保存退出

使用场景

适用于需要频繁执行某些检查或监控任务的场景。

6. 恢复被删除的crontab文件

如何不小心删除了/var/spool/cron/root文件,该如何恢复。

# 解决方案
1. 尝试以下恢复方法
- 如果系统有备份,从备份恢复
- 如果没有备份,可以尝试以下命令重新创建
    crontab -r    # 清除现有任务(如果存在)
    crontab -e    # 重新编辑定时任务

# 注意事项
- 以后定期备份crontab文件
- 可以使用以下命令查看当前用户的定时任务
    crontab -l

使用场景

适用于管理定时任务时意外删除crontab文件的情况。

posted @ 2025-05-23 22:43  FangNing  阅读(35)  评论(0)    收藏  举报