Linux设置定时任务《使用PSSH批量管理Linux》 一文中 , 已经学习了使用p.sh批量管理linux的技巧 。而很多时候,我们需要定时执行一些任务 , 或者需要定时执行一些批量任务 。因此,本文就来研究一下linux设置定时任务的方法 。
主要参考 Linux Crontab 定时任务 、 Linux定时任务Crontab命令详解和Linux 定时任务详解。
cron(crond)是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程 。linux系统上面原本就有非常多的计划性工作 , 因此这个系统服务是默认启动的 。crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务 。另外 , 由于使用者自己也可以设置计划任务,所以,linux系统也提供了使用者控制计划任务的命令linux中计划任务命令:crontab命令 。
crontab命令是cron table的简写,它是cron的配置文件 , 也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件 。
linux下的任务调度分为两类 , 系统任务调度和用户任务调度 。
系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等 。/etc/crontab 文件就是系统任务调度的配置文件 。
用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等 。用户可以使用 crontab 工具来定制自己的计划任务 。所有用户定义的crontab文件都被保存在/var/spool/cron/crontabs/ 目录中,其文件名与用户名一致 。
假设我们使用的是Ubuntu14.04.5 Server版,查看 /etc/crontab , 内容为:
第一行SHELL变量指定了系统要使用哪个shell;第二行PATH变量指定了系统执行 命令的路径 。
接下来的命令格式为:
m h dom mon dow user command
英文全拼为:
minute hour day month week user commond
注意,/var/spool/cron 目录中的用户调度任务,没有user一项,因为文件名已经代表了user 。
在以上各个字段中,还可以使用以下特殊字符:
crontab命令格式为:
crontab [-u username] [file] [ -e | -l | -r ]
设置定时任务和时间紧密相关,如果服务器的时区时间设置和本地不同,就不能保证计划任务的正确执行 。所以使用crontab的第一步,是调节好服务器的时间 。
下面参考 Ubuntu 16.04将系统时间写入到硬件时间BIOS , 对服务器时间进行调节 。
时间是有时区的,无论硬件时间还是操作系统时间 。hwclock的时区在/etc/default/rcS文件中设置,里面有一个参数UTC , 默认值为yes,表示使用UTC时区,如果设置为no,那表示使用osclock的时区 。建议hwclock与osclock设置相同的时区 , 也就是no 。
1、查看服务器硬件时间
sudo hwclock -r,看到的时间格式为: Wed 23 May 2018 11:02:17 AM HKT -0.031663 seconds
2、查看服务器系统时间
date ,看到的时间格式为: Wed May 23 11:02:41 HKT 2018
3、设置hwclock和osclock时区相同
sudo vim /etc/default/rcS,找到:
修改为:
4、将系统时间写入硬件时间
sudo hwclock -w
5、修改系统时区
osclock的时区配置文件为/etc/timezone,不建议直接修改配置文件 。
如果linux中计划任务命令你想修改为CST时间,那么执行 sudo tzselect 命令时 , 选择Asia-China-Beijing Time即可,这时会提示使用Asia/Shanghai时区 。(ubuntu和centos通用)
6、设置即刻生效
执行 date,发现时区没有变化,依然是HKT 。
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
sudo ntpdate time.windows.com
如果执行ntpdate报错:ntpdate[18409]: no server suitable for synchronization found,那么就换一个时间同步工具 。
推荐阅读
- 冒险解谜游戏有哪些,冒险解谜游戏有哪些恐怖的
- 直播健身带来的隐患是什么,健身直播要准备哪些工具
- 手机什么型号cpu省电,哪种手机cpu性能最好
- 啃虎牙直播,虎牙上有哪些有名吃播
- go语言小说world go语言实战在线阅读
- 昆明专注sap维护公司,昆明app软件专业开发公司
- 手提电脑怎么改显卡模式,手提电脑显卡怎么设置
- 服务器负载均衡怎么做,服务器负载均衡部署模式
- java中代码pu java中代码块的执行顺序