请注意,本文编写于 1524 天前,最后修改于 1263 天前,其中某些信息可能已经过时。
之前一直有个计划,把OSS上的备份下载到NAS做保护,于是就尝试做了个逆向程序运行在Docker里。在MacOS上测试时一切顺利,然而到了Docker后遇到了许多问题,容器里的centos缺失了不少组件需要自行安装,下面的方案是花了我好多时间从互联网上搜寻学习总结的,不断碰壁后探出的一条路,所以这个方案也许只适用于我的情况。
新建Docker容器
docker run --privileged -it -d centos /usr/sbin/init
注意2点:
--privileged
参数必须加/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