侧边栏壁纸
博主头像
恪晨博主等级

前端程序员

  • 累计撰写 148 篇文章
  • 累计创建 42 个标签
  • 累计收到 18 条评论

目 录CONTENT

文章目录

群晖定时备份halo与mysql数据库

恪晨
2022-10-09 / 0 评论 / 0 点赞 / 298 阅读 / 326 字 / 正在检测是否收录...

备份Halo文件脚本

原本的配置文件都在web_packages文件夹中,现在要备份到群晖根目录下面的/file/haloBackup文件中

# 进入到备份文件夹
cd /volume1
#压缩网站数据
tar zcvf web_$(date +"%Y%m%d").tar.gz web_packages

mv web_$(date +"%Y%m%d").tar.gz /volume1/file/haloBackup
# 删除3天前备份文件
rm /volume1/file/haloBackup/web_$(date -d -3day +"%Y%m%d").tar.gz

备份docker mysql数据脚本

将docker安装的mysql中的数据库备份到群晖根目录/volume1/file/BackUp文件夹下面

#当前日期
BACKUP_PATH=/volume1/file/BackUp
DATE=$(date +%Y%m%d)
MYSQL_PWD=数据库密码

#查询所有数据库
DATABASES=$(docker exec -i mysql容器id mysql  -uroot -p$MYSQL_PWD -e "show databases" | grep -Ev "Database|sys|information_schema|performance_schema|mysql")
#循环数据库进行备份
for db in $DATABASES
do
echo
if [[ "${db}" =~ "+" ]] || [[ "${db}" =~ "|" ]];then
echo "jump over ${db}"
else
echo ----------$BACKUP_PATH/${db}_$DATE.sql.gz BEGIN----------
docker exec -i 926fe034bb2920ae330275f1656ce2303125c3a65bfe7be42891f530bbcc61da mysqldump -uroot -p$MYSQL_PWD --default-character-set=utf8 -q --lock-all-tables --flush-logs -E -R --triggers -B ${db} | gzip > /var/tmp/${db}_$DATE.sql.gz
mv /var/tmp/*.sql.gz $BACKUP_PATH
echo ${db}
echo ----------$BACKUP_PATH/${db}_$DATE.sql.gz COMPLETE----------
echo
fi
done

echo "done"

只需要在计划任务中添加对应的定时任务,脚本内容如上即可。

0

评论区