❶ linux中定时任务crontab编写
使用crontab可以在指定时间执行Linux命令或脚本,如系统管理员安排备份任务。添加crontab作业的命令是:
# crontab –e
示例:0 5 * * * /root/bin/backup.sh,表示每天早上5点运行 /root/bin/backup.sh。
crontab各项功能描述如下:
格式:{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
minute: 0-59
hour: 0-23
day-of-month: 0-31
month: 1-12
day-of-week: 0-7, 星期日为0或7
作业示例:
1. 每天凌晨过一分钟执行备份,适合备份操作。
1 0 * * * /root/bin/backup.sh
2. 每个工作日(Mon - Fri)11:59 PM 进行备份。
59 11 * * 1,2,3,4,5 /root/bin/backup.sh
等效于:
59 11 * * 1-5 /root/bin/backup.sh
3. 每5分钟运行一次命令。
*/5 * * * * /root/bin/check-status.sh
4. 每个月的第一天 1:10 PM 运行。
10 13 1 * * /root/bin/full-backup.sh
5. 每个工作日 11 PM 执行。
0 23 * * 1-5 /root/bin/incremental-backup.sh
crontab命令选项:
crontab –e: 编辑crontab文件,若不存在则自动创建。
crontab –l: 显示crontab文件内容。
crontab -r: 删除crontab文件。
crontab -ir: 删除crontab文件前提醒用户。
在Linux平台上使用crontab实现任务调度,编写cron脚本。可以设置任务以固定频率执行,如每隔几分钟、小时或天执行一次。crond进程负责读取和执行任务,无需用户启动或关闭。crontab文件管理着定时任务,包括crontab文件、cron.d、cron.daily、cron.hourly、cron.monthly、cron.weekly等。
若要以特定时间执行任务,可以使用at命令,指定执行时间及脚本文件。导出和编辑crontab配置文件后,使用命令导入新配置。不建议直接修改系统cron相关配置文件。启动crond进程用/etc/init.d/crond start,开机自动启动设置用chkconfig --add crond。
通过实例讲解,了解如何在crontab中设置分、时、日、月、周等时间参数,以及如何编辑和删除crontab文件。在/etc/crontab文件中可设定系统定期执行的任务,使用crontab命令来管理这些任务。
总结,crontab提供了灵活的定时任务管理方式,帮助自动化执行Linux操作,简化工作流程。
❷ Linux 通过 crontab 来定时执行脚本——固定时间/固定频率
使用 cron 守护进程管理任务调度,crontab 作为配置文件,记录命令与执行时间。需先检查当前是否有运行任务,若无则通过以下步骤创建与添加任务:
新任务示例:
*/5 * * * * bash路径/file_name.sh >> 路径/tmp_log.txt
执行步骤:
1. 创建 crontab 配置文件,内容为:
*/5 * * * * bash路径/file_name.sh
表示每5分钟执行一次 file_name.sh。
2. 添加 cron 任务:
crontab 路径/cron_test.cron >> 路径/cron_log.txt
注意:Win 上路径不可用,否则会导致 LF char x'0d' 错误。
3. 验证添加:
$ crontab -l
4. 配置文件编写规范:
* * * * *command_statement
星号对应时间元素,合法值为分钟1-59、小时0-23、日期1-31、月份1-12、周0-6。
第1列表示分钟,每1分钟用*或*/1表示。
第2列表示小时。
第3列表示日期。
第4列表示月份。
第5列表示星期。
第6列表示要运行的命令。
5. 命令说明:
crontab -e:修改 crontab 文件,文件不存在时自动创建。
crontab -l:显示 crontab 文件内容。
crontab -r:删除 crontab 文件。
crontab -ir:删除 crontab 文件前提醒用户。
查看 cron 状态:sudo service cron status
开启 cron:sudo /etc/init.d/cron start
关闭 cron:sudo /etc/init.d/cron stop
重启 cron:sudo /etc/init.d/cron restart