【Linux学习笔记】使用crond实现计划任务
时间:2014-07-13 18:05 来源:linux.it.net.cn 作者:it
crond是Linux下的一个服务,用于按照既定计划执行特定任务。crond的原理,即每隔一分钟醒来一次,查看crontab中是否有需要执行的命令,如果有,则执行,没有则继续休眠。了解了crond的大概原理后,我们来看看具体操作。
1、启用crond服务
service crond start
启用后,查找crontab文件,一般位于 /var/spool/cron/ 目录下,与用户名同名。例如如果我是root用户,则crontab文件为 /var/spool/cron/root。
2、编辑crontab文件
编辑crontab文件内容:crontab -e
列举crontab文件内容:crontab -l
删除当前的crontab:crontab -r
crontab的编辑类似使用vi编辑器。其实也可以通过sftp将crontab文件下载回本地,使用notepad++等文本编辑器修改后再传回覆盖即可。根据实际情况选取和变通最擅长的操作,没必要过于刻板。
3、crontab文件的内容与语法
crontab文件中,每一行代表一个计划任务,每行的基本语法:
[分钟] [小时] [日期] [年份] [星期] [命令]
说明:
(1)这6部分均不可为空,如果不需要设置则使用“*”来替代;
(2)命令需要使用绝对路径,例如cp命令需要写成/bin/cp;
(3)分钟、小时、日期、年份与正常的自然事件写法相同,小时为24小时制,星期0~6代表周日~周六;
(4)用户必须要有执行命令的权限;
(5)如果某个段有多个值,可用“,”隔开,如果多个值是连续的,可用“-”连接;
(6)如果要每隔一个时间执行,写法为“*/[数值]”。
4、crontab任务范例一:
每小时的第5分钟执行一个任务:5 * * * * /bin/echo "this is a task"
每天15点30分执行一个任务:30 15 * * * /bin/echo "this is a task"
每月16日18点40分执行一个任务:40 18 16 * * /bin/echo "this is a task"
每周五8点整执行一个任务:0 8 * * 5 /bin/echo "this is a task"
5、crontab任务范例二:
周一到周五18点整执行某任务:0 18 * * 1-5 /bin/echo "this is a task"
每月5日、15日、25日8点15分执行某任务:15 8 5,15,25 * * /bin/echo "this is a task"
每隔10分钟执行某任务 */10 * * * * /bin/echo "this is a task"
(责任编辑:IT)
crond是Linux下的一个服务,用于按照既定计划执行特定任务。crond的原理,即每隔一分钟醒来一次,查看crontab中是否有需要执行的命令,如果有,则执行,没有则继续休眠。了解了crond的大概原理后,我们来看看具体操作。 1、启用crond服务
启用后,查找crontab文件,一般位于 /var/spool/cron/ 目录下,与用户名同名。例如如果我是root用户,则crontab文件为 /var/spool/cron/root。 2、编辑crontab文件
编辑crontab文件内容:
列举crontab文件内容:
删除当前的crontab: crontab的编辑类似使用vi编辑器。其实也可以通过sftp将crontab文件下载回本地,使用notepad++等文本编辑器修改后再传回覆盖即可。根据实际情况选取和变通最擅长的操作,没必要过于刻板。 3、crontab文件的内容与语法 crontab文件中,每一行代表一个计划任务,每行的基本语法:
说明: (1)这6部分均不可为空,如果不需要设置则使用“*”来替代; (2)命令需要使用绝对路径,例如cp命令需要写成/bin/cp; (3)分钟、小时、日期、年份与正常的自然事件写法相同,小时为24小时制,星期0~6代表周日~周六; (4)用户必须要有执行命令的权限; (5)如果某个段有多个值,可用“,”隔开,如果多个值是连续的,可用“-”连接; (6)如果要每隔一个时间执行,写法为“*/[数值]”。 4、crontab任务范例一:
每小时的第5分钟执行一个任务:
每天15点30分执行一个任务:
每月16日18点40分执行一个任务:
每周五8点整执行一个任务: 5、crontab任务范例二:
周一到周五18点整执行某任务:
每月5日、15日、25日8点15分执行某任务:
每隔10分钟执行某任务 |