linux定时任务--定时重启docker容器

时间:2024-04-16 20:02:10

Linux添加crontab定时任务

首先根据网页提供资料,crontab分为两类,系统crontab,用户crontab。

系统crontab可以使不同的用户crontab任务都放到/etc/crontab文件中指定。而用户crontab仅允许当前用户调用crontab -e命令来编辑自己的任务。
crontab具体使用以及语法:

crontab的一些基本命令

systemctl start crond.service          启动服务

systemctl stop crond.service          停止服务

systemctl restart crond.service        重启服务

systemctl reload crond.service        重载配置文件

systemctl status crond.service        查看状态

crontab -l       显示crontab文件(显示已设置的定时任务)

crontab -e      编辑crontab文件(编辑定时任务)

crontab -r       删除crontab文件(删除定时任务)

crontab -ir      删除crontab文件提醒用户(删除定时任务)

接下来进入正题使用定时器重启容器,无需人工操作:

首先编写脚本文件 restart.sh

1、我们将脚本文件放入/home/zhaojf/restart文件底下

cd /home/zhaojf/restart

touch restart.sh

vim restart.sh

这样就能进入到脚本文件进行编辑操作

在脚本里放入重启命令行即可,脚本文件如下:

#! /bin/bash
echo "重启Docker容器名称为:devicemanagement_0420">>/home/zhaojf/restart/restart.log
docker restart devicemanagement_0420
echo "重启命令的执行状态:"$?>>/home/zhaojf/restart/restart.log
if [ $? -eq 0 ]; then
    echo "执行成功!">> /home/zhaojf/restart/restart.log
else
    echo "执行失败!">> /home/zhaojf/restart/restart.log
    exit
fi
echo "重启Docker容器:devicemanagement_0420完毕!输出日志在/home/zhaojf/restart/restart.log中">> /home/zhaojf/restart/restart.log

脚本编辑完成,点击esc,不可编辑状态,在按回车加冒号,输入wq!退出编辑

2、编辑完成后,给予restart.sh文件执行权限

chmod u+x restart.sh

接下来只要将脚本加入定时任务里即可

3、编辑crontab文件加入定时任务

crontab -e

4、在crontab加入定时任务

表示每1分钟执行一次重启脚本

*/1 * * * * /home/zhaojf/restart/restart.sh

 

 */1 * * * * 表示每分钟执行一次    /home/zhaojf/restart/restart.sh代表脚本路径

时间规格可根据自行去查看格则表,这里我就不多做说明了

5、重载crontab配置文件

systemctl reload crond.service

6、可利用命令行crontab -l 查看定时任务

 

 这就是我们刚刚添加restart定时任务。

7、在输出日志中查看定时任务的执行情况

vim restart.log