请你描述下crontab的作用和语法,以及书写定时任务注意的要点。
1个回答
展开全部
设置crontab后我们可以使得Linux主动执行的在固定的间隔时间,执行指定的系统指令或 shell script脚本。生产环境可以用来日志分析或生产备份等。
语法格式:
crontab [ -u user ] file ===》-u的意思就是指定用户
crontab [ -u user ] { -l 显示文件内容| -r全部删除crontab文件 | -e 编辑crontab文件| -i删除crontab文件前确认提示}
举例:
*/5 10,12 * 3-8 * * /usr/sbin/ntpdate 10.0.0.155 >/dev/null 2>&1
前五段是时间间隔的设定,单位分别是分钟、小时、日、月、周(尽量避免使用日月和周同时出现,以免造成系统误判)。
第一个时间段 分钟 范围0-59
第二个时间段 小时 范围0-23
第三个世间段 日 范围1-31
第四个时间段 月 范围1-12
第五个时间段 周 范围0-7
*星号代表任何时间都接受命令
,逗号,表示隔开。代表分隔的时间都适用此命令。
- 减号,两个时间段之间,代表在此时间段内执行定时任务。
/n斜线和n(数字)表示每隔n段时间执行一次。
注意要点分为:书写基本要领与书写注意事项
7个基本要领:
第一、为定时任务规则加必要的注释
第二、定时任务命令或程序最好写到脚本里执行
第三、定时任务执行的脚本要规范路径,如:/server/scripts
第四、执行shell脚本任务时前加/bin/sh
执行定时任务时,如果是执行脚本,尽量在脚本前面带上/bin/sh命名
第五、定时任务结尾加 >/dev/null 2>&1
第六、/dev/null为特殊的字符设备文件,表示黑洞设备或空设备。
第七、有关重定向的说明
>或1> 输出重定向:把前面输出的东西输入到后边的文件中,会删除文件原有内容。
>>或1>> 追加重定向:把前面输出的东西追加到后边的文件中,不会删除文件原有内容。
<或<0 输入重定向:输入重定向用于改变命令的输入,指定输入内容,后跟文件名。
<<或<<0 输入重定向:后跟字符串,用来表示“输入结束”,也可用ctrl+d来结束输入。
2> 错误重定向:把错误信息输入到后边的文件中,会删除文件原有内容。
2>> 错误追加重定向:把错误信息追加到后边的文件中,不会删除文件原有内容。
标准输入(stdin):代码为0,使用<或<<。
标准输出(stdout):代码为1,使用>或>>。正常的输出。
标准错误输出(sederr):代码为2,使用2>或2>>。
特殊:
2>&1就是把标准错误重定向到标准输出(>&)。
>/dev/null 2>&1 等价于 1>/dev/null 2>/dev/null
如果有什么不懂的话可以去看看《Linux就该这么学》这本书,非常适合新手学习Linux。
语法格式:
crontab [ -u user ] file ===》-u的意思就是指定用户
crontab [ -u user ] { -l 显示文件内容| -r全部删除crontab文件 | -e 编辑crontab文件| -i删除crontab文件前确认提示}
举例:
*/5 10,12 * 3-8 * * /usr/sbin/ntpdate 10.0.0.155 >/dev/null 2>&1
前五段是时间间隔的设定,单位分别是分钟、小时、日、月、周(尽量避免使用日月和周同时出现,以免造成系统误判)。
第一个时间段 分钟 范围0-59
第二个时间段 小时 范围0-23
第三个世间段 日 范围1-31
第四个时间段 月 范围1-12
第五个时间段 周 范围0-7
*星号代表任何时间都接受命令
,逗号,表示隔开。代表分隔的时间都适用此命令。
- 减号,两个时间段之间,代表在此时间段内执行定时任务。
/n斜线和n(数字)表示每隔n段时间执行一次。
注意要点分为:书写基本要领与书写注意事项
7个基本要领:
第一、为定时任务规则加必要的注释
第二、定时任务命令或程序最好写到脚本里执行
第三、定时任务执行的脚本要规范路径,如:/server/scripts
第四、执行shell脚本任务时前加/bin/sh
执行定时任务时,如果是执行脚本,尽量在脚本前面带上/bin/sh命名
第五、定时任务结尾加 >/dev/null 2>&1
第六、/dev/null为特殊的字符设备文件,表示黑洞设备或空设备。
第七、有关重定向的说明
>或1> 输出重定向:把前面输出的东西输入到后边的文件中,会删除文件原有内容。
>>或1>> 追加重定向:把前面输出的东西追加到后边的文件中,不会删除文件原有内容。
<或<0 输入重定向:输入重定向用于改变命令的输入,指定输入内容,后跟文件名。
<<或<<0 输入重定向:后跟字符串,用来表示“输入结束”,也可用ctrl+d来结束输入。
2> 错误重定向:把错误信息输入到后边的文件中,会删除文件原有内容。
2>> 错误追加重定向:把错误信息追加到后边的文件中,不会删除文件原有内容。
标准输入(stdin):代码为0,使用<或<<。
标准输出(stdout):代码为1,使用>或>>。正常的输出。
标准错误输出(sederr):代码为2,使用2>或2>>。
特殊:
2>&1就是把标准错误重定向到标准输出(>&)。
>/dev/null 2>&1 等价于 1>/dev/null 2>/dev/null
如果有什么不懂的话可以去看看《Linux就该这么学》这本书,非常适合新手学习Linux。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询