crontab定时备份docker部署的gitea上传到华为OBS

复制代码
#!/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 退出并保存

 

posted @   缤纷世界  阅读(348)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2016-05-25 CentOS利用inotify+rsync实现文件同步
2016-05-25 CentOS两台服务器利用scp拷贝文件
点击右上角即可分享
微信分享提示