crontab

我们可以使用crontab 执行定时任务。

有一个脚本 cmdb-data.sh

#!/bin/bash
#cmdb数据同步定时任务

ansible all -m setup --tree /usr/local/out
/usr/local/lib/ansible-cmdb/ansible-cmdb /usr/local/out/ > /home/task/overview.html
scp /home/task/overview.html root@192.168.1.150:/usr/share/zabbix/cmdb/

(注意:坑:/usr/local/lib/ansible-cmdb/ansible-cmdb 必须使用绝对路径,因为 ansible-cmdb 是在 /etc/profile 里面配置的环境变量)

 

每天 00:00 执行时间同步,00:10 执行 cmdb数据同步,23:58分执行日志切割。编辑定时任务如下

crontab -e 编辑定时任务

#Ansible: update time
00 00 * * * ntpdate 192.168.158.100

10 00 * * * /home/task/cmdb-data.sh

58 23 * * * /usr/sbin/logrotate -vf /home/logrotate_java

#每天凌晨1点半执行定时重启任务
30 01 * * * /usr/bin/bash /data/work/python/hitrate/auto_deployment.sh

查看定时任务

crontab -l

 

查看定时任务日志

如果crontab所执行的命令有输出内容的话,该输出内容会以邮件的形式发送给用户,内容存储在邮件文件。

如果是指定的root用户执行的任务,查查看日志命令为:

tail -n100 /var/spool/mail/root|more

 

扩展:

时间同步

有些服务器时间不对,此时我们可以通过时间同步,让所有服务器时间保持一致

[root@smy5-1 data]# date
Thu Mar 26 21:13:06 CST 2020

然后

crontab -e 编辑时间同步定时任务

每1分钟同步一次时间

#update time
*/1 * * * * /usr/sbin/ntpdate cn.pool.ntp.org

查看定时任务:

[root@application ~]# crontab -l
#update time
*/1 * * * * /usr/sbin/ntpdate cn.pool.ntp.org

 

过1分钟后,时间恢复正常

[root@application ~]# date
Thu Mar 26 21:19:59 CST 2020

关于 cn.pool.ntp.org

NTP(Network Time Protocol)可以很方便的解决服务器之间的时间同步问题,用户可以选择NTP官方网站推荐的pool pool.ntp.org地址池,默认CentOS系统自带了ntp软件,如下所示:

[root@application ~]# rpm -qa|grep ntp
ntpdate-4.2.6p5-29.el7.centos.x86_64
[root@application ~]# yum list installed|grep ntp
ntpdate.x86_64                        4.2.6p5-29.el7.centos            @base    
[root@application ~]#

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值