之前一直有个计划,把OSS上的备份下载到NAS做保护,于是就尝试做了个逆向程序运行在Docker里。在MacOS上测试时一切顺利,然而到了Docker后遇到了许多问题,容器里的centos缺失了不少组件需要自行安装,下面的方案是花了我好多时间从互联网上搜寻学习总结的,不断碰壁后探出的一条路,所以这个方案也许只适用于我的情况。

新建Docker容器

docker run --privileged -it -d centos /usr/sbin/init

注意2点:

  1. --privileged 参数必须加
  2. /usr/sbin/init作为容器的启动命令

验证方法:

docker exec -it $containerID bash #进入容器的bash命令行
systemctl #验证systemctl 命令是否可用

安装系统日志便于排查问题

yum install -y rsyslog

安装Crontabs

yum -y install crontabs

Crontabs 使用方法

crontab [-u username]    //省略用户表表示操作当前用户的crontab
    -e      (编辑工作表)
    -l      (列出工作表里的命令)
    -r      (删除工作作)
# 每天03:30执行一次
30 03 * * * /home/backup.sh
# 每分钟执行一次
* * * * * /home/test.sh
#!/bin/bash

CURRENT_TIME=$(date +%Y%m%d_%H%M%S)
FILE=$CURRENT_TIME.txt
NAS_PATH=/home/Test/$CURRENT_TIME

[ ! -d "$NAS_PATH" ] && mkdir -p "$NAS_PATH"

启动 rsyslog & crond 服务

systemctl start rsyslog
systemctl start crond

查看日志

tail -f /var/log/cron

更改时区

tzselect

TZ=Asia/Shanghai
date -R
ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date -R
最后修改:2021 年 06 月 07 日
请作者喝咖啡!