定时重启docker容器

4/25/2023 Linuxdocker定时任务

# 定时重启docker容器

# 1、crontab简介

Linux添加crontab定时任务

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

系统crontab可以使不同的用户crontab任务都放到/etc/crontab文件中指定。而用户crontab仅允许当前用户调用crontab -e命令来编辑自己的任务。 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文件提醒用户(删除定时任务)
1
2
3
4
5
6
7
8
9
10

# 2、编写脚本

# 1、restart.sh

#! /bin/bash
echo "重启Docker容器名称为:demo">>/home/alex/restart/restart.log
docker restart demo
echo "重启命令的执行状态:"$?>>/home/alex/restart/restart.log
if [ $? -eq 0 ]; then
    echo "执行成功!">> /home/alex/restart/restart.log
else
    echo "执行失败!">> /home/alex/restart/restart.log
    exit
fi
echo "重启Docker容器:demo!输出日志在/home/alex/restart/restart.log中">> /home/alex/restart/restart.log
1
2
3
4
5
6
7
8
9
10
11

# 2、给予文件执行权限

chmod u+x restart.sh
1

# 3、加入定时任务

  1. 编辑crontab文件加入定时任务

    crontab -e
    
    1
  2. crontab加入定时任务

    */1 * * * *  /home/alex/restart/restart.sh
    
    1
  3. 重载crontab配置文件

    systemctl reload crond.service
    
    1
  4. 可利用命令行crontab -l查看定时任务

Last Updated: 9/15/2023, 1:19:37 AM