crontab定时备份docker部署的gitea上传到华为OBS
2023-09-27 14:25:30 时间
#!/bin/bash #获取当天的年月日 nowDate=`date "+%Y%m%d"` #res=`/usr/bin/docker exec -it gitea /bin/sh -c "su git -c 'cd /data/ && /usr/local/bin/gitea dump --file '$nowDate'.zip'"` #备份 res=`/usr/bin/docker exec -u git $(docker ps -qf "name=publish_gitea_1") bash -c 'cd /data/ && /usr/local/bin/gitea dump --file '$nowDate'.zip'` echo '备份完成!' #上传备份文件到OBS前的登录 /root/publish/cicd/data/gitea/obsutil config -i=<AK> -k=<SK> -e=<Endpoint> #上传备份文件到OBS /root/publish/cicd/data/gitea/obsutil cp /root/publish/cicd/data/gitea/$nowDate.zip obs://dsideal/HuangHai/giteaBackup/$nowDate.zip echo '上传备份文件到OBS完成!' #获取10天前的年月日 delData=`date -d"-10 day" +%Y%m%d` #删除OBS上10天前的旧备份文件 /root/publish/cicd/data/gitea/obsutil rm obs://dsideal/HuangHai/giteaBackup/$delData.zip -f echo '删除OBS上10天前的旧备份文件完成!' #删除本地已上传到OBS的备份文件 rm -rf /root/publish/cicd/data/gitea/$nowDate.zip echo '删除本地已上传到OBS的备份文件完成!'
需要备注的是 在crontab中执行docker不能带-it选项,因为it需要开终端。crontab中肯定没有终端,这会导致失败。
obsutil下载和安装说明
https://support.huaweicloud.com/utiltg-obs/obs_11_0003.html
设置crontab
crontab -u root -e 30 1 * * * /root/publish/cicd/data/gitea/backup.sh >/dev/null 2>&1 Crtl+x 退出并保存
相关文章
- 关于Windows平台上的Docker,我们需要了解哪些事实?
- docker-4-Dockerfile配置文件详解
- 10张图带你深入理解Docker容器和镜像
- 【云计算】Docker多进程管理方案-cfengine && supervisord
- docker容器备份、恢复和迁移volume方案
- Docker学习笔记
- docker 容器启动并自启动redis
- Docker容器常用命令汇总
- 备份基于Docker的PostgreSQL数据库
- ClickHouse docker in practice.
- Docker 存储及卷(Volume)
- 使用 Docker-Compose 编排容器
- 如何使用 TLS 保护 Docker 的 TCP 套接字
- 客快物流大数据项目(四):大数据项目为什么使用Docker
- 云原生(四) | Docker篇之网络和存储原理