如何编写Linux定时执行shell脚本任务
很多时候一些shell脚本我们都希望服务器可以自己定时的去运行,那么以下作简单讲解:
首先讲解一些关于cron服务的指令:
service crond start
//启动服务
service crond stop
//关闭服务
service crond restart
//重启服务
service crond reload
//重新载入配置
service crond status
//查看crontab服务状态
service crond start
//手动启动crontab服务
设置需要执行的脚本
新增调度任务可用两种方法:
1)、在命令行输入: crontab -e
然后添加相应的任务,wq存盘退出。
2)、直接编辑/etc/crontab 文件,即vi /etc/crontab
,添加相应的任务。
crontab -l
//列出当前的所有调度任务
crontab -l -u jp
//列出用户jp的所有调度任务
删除任务调度工作
crontab -r
//删除所有任务调度工作
直接编辑 vim /etc/crontab
,默认的文件形式如下:
SHELL变量的值指定系统使用的SHELL环境(该样例为bash shell),
PATH变量定义了执行命令的路径。
Cron的输出以电子邮件的形式发给MAILTO变量定义的用户名。如果MAILTO变量定义为空字符串(MAILTO=""),电子邮件不会被发送。
文件/etc/crontab中每行任务的描述格式如下:
minute hour day month dayofweek command
minute - 从0到59的整数
hour - 从0到23的整数
day - 从1到31的整数 (必须是指定月份的有效日期)
month - 从1到12的整数 (或如Jan或Feb简写的月份)
dayofweek - 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示)
command - 需要执行的命令(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令)
下图是实现运行一个shell脚本打印hello到sh1.txt文件中。
前五个✳表示时间更新频率,可自行设置(最小为一分钟);后面是时间更新后需要执行的操作命令。
就此一个简单的定时任务就完成啦!