如果你“假装”对工作感兴趣,这种态度往往会使你的兴趣弄假成真。这种态度还能减少疲劳、紧张和忧虑。 除了身体的运动,我们更需要的是精神、心智上的运动,以便促使我们付诸行动。 每天时时跟自己交谈,可以引导自己思考什么是勇气和幸福,什么是平安和力量;每天跟自己谈些需要感谢的事,这样,你的心灵就会海阔天空,快乐欢畅。 去假装,或者怎样。从中体会到其中的趣味才是关键。
——戴尔·卡耐基《人性的弱点全集》
在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。
cron的配置文件称为“crontab”,是“cron table”的简写。
crontab可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行。
我们运行一下看一下这个进程:
- 安装crontab
- 一般都是默认安装的,如果没有,运行命令
sudo apt-get install crontab
2.cron服务
cron是一个linux下 的定时执行工具,可以在无需人 工干预的情况下运行作业。
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
3.crontab命令语法及其各个参数含义
crontab命令的语法为:
crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ]
注意:crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。
各个参数说明:
-e [UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是 vi
-r [UserName]: 删除目前的时程表
-l [UserName]: 列出目前的时程表
-v [UserName]:列出用户cron作业的状态
4.创建任务
创建自己的一个任务调度,可以使用 crontab -e 这个命令,如:
[root ~]# crontab -e
此时会进入到vi编辑界面,来编写我们要调度的任务,crontab调度命令的格式如下:
* * * * * command path // 前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,即命令字段,其中包括了crontab调度执行的命令。 各个字段之间用spaces和tabs分割。
调度命令的规则:
字段名称 说明 取值范围
分钟 每小时的第几分钟执行 0-59
小时 每日的第几个小时执行 0-23
日期 每月的第几天执行 1-31
月历 每年的第几月执行 1-12
星期 每周的第几天执行 0-6
命令名称 欲执行的命令及参数
crontab命令中的一些常用特殊符号:
* 表示任何时刻
, 表示分割
- 表示一个段,如第二段里: 1-5,就表示1到5点
/n 表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1.
5.实践
我们创建一个脚本文件,使用crontab命令来让脚本执行,每1s执行一次。
#!/bin/bash
cat hello.txt >> /home/wz/test/test.txt
* * * * * /home/test.sh
这样就是一个简单的定时执行的命令了。
更多更好玩的知识就在微信公众号:CPP后台服务器开发