0%

crontab centos7上的使用

简介

Unix和类Unix的操作系统中的定时器。

安装

1
yum install crontabs

命令

crontab的使用就是编辑配置文件。 配置文件位于/var/spool/cron/,其中是用户名。 日志位于/var/log/cron,参考这里清理日志文件。

1
2
3
4
5
6
7
8
9
#列出crontab文件
crontab -l

#编辑crontab文件
crontab -e

#删除crontab文件
crontab -r

配置文件基本格式 :

1
2
3
*     *     *     *     *     cmd
分  时  日  月  周  命令

定期清理Jenkins日志

新建.sh文件vi /data/clean/clean_jenkins_log.sh, 内容如下:

1
2
3
#! /bin/bash

cat /dev/null > /var/log/jenkins.log

授权文件chmod 777 /data/clean/clean_jenkins_log.sh。 编辑crontab配置文件crontab -e, 加入一行配置, 每天凌晨1:30执行一次命令:

1
30 1 * * * /data/clean/clean_jenkins_log.sh >/dev/null &

重载配置文件systemctl reload crond.service

定期清理Docker镜像

过程同上,.sh文件内容修改为,按镜像Tag模糊匹配进行删除:

1
2
3
#!/bin/bash

docker rmi -f $(docker images awk '/^daocloud.io/ { print $3 }')
1
2
3
#!/bin/sh

docker rmi -f $(docker images awk '/^ccr.ccs.tencentyun.com/ { print $3 }')
1
2
3
#!/bin/sh

docker rmi -f $(docker images grep "none" awk '{print $3}')

定期重启服务

1
2
3
#!/bin/sh

systemctl restart nexus.service
1
2
3
#!/bin/sh

systemctl restart docker.service

其他样例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#每晚的21:30 重启apache
30 21 * * * /usr/local/etc/rc.d/lighttpd restart

#每月1、10、22日的4 : 45重启apache
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

#每周六、周日的1 : 10重启apache
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart

#每天18 : 00至23 : 00之间每隔30分钟重启apache
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart

#晚上11点到早上7点之间,每隔一小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart

#每一小时重启apache
* */1 * * * /usr/local/etc/rc.d/lighttpd restart

#每月的4号与每周一到周三的11点重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart

#一月一号的4点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart

1
2
3
4
5
6
30 1 * * * /data/clean/clean_docker_images.sh >/dev/null &
30 2 * * * /data/clean/clean_docker_images2.sh >/dev/null &
30 3 * * * /data/clean/clean_docker_images3.sh >/dev/null &
30 4 * * * /data/clean/clean_jenkins_log.sh >/dev/null &
10 5 * * * /data/clean/restart_docker.sh >/dev/null &
30 5 * * * /data/clean/restart_nexus.sh >/dev/null &

作者:adeng2016 链接:https://www.jianshu.com/p/b3c8493753ca 來源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。