shell脚本定时备份mysql和mongodb数据至另一个机器

#!/bin/bash
echo "start backup mysql..."
tmp_path="/tmp/"
file_path="/home/mixislink/data_backup/mysql/"
file_name_base="mysql_"
file_name="${file_name_base}$(date +%Y%m%d_%H%M%S)"
# 备份mysql的数据至106,并删除大于60天的数据
mkdir -p ${file_path}
docker exec mysql8 mysqldump -h192.168.1.120 --port=3306 -uroot -pxxx energy-digital> ${tmp_path}${file_name}.sql
if [ -f "${tmp_path}${file_name}.sql" ]; then
  tar -czvf ${file_path}${file_name}.tar.gz ${tmp_path}${file_name}.sql
  rm ${tmp_path}${file_name}.sql
fi
find ${file_path} -type f  -mtime +30 -name "${file_name_base}*.tar.gz" | xargs rm -rvf
scp -C "${file_path}${file_name}.tar.gz" root@192.168.1.106:/home/"${file_name}.tar.gz"
#ssh root@192.168.1.106 "find /home/mysql_data_backup/ -type f -mtime +60 -name '${file_name_base}*.tar.gz' | xargs rm -rvf"

# 备份mongodb的数据至106,并删除大于30天的数据
echo "start backup mongodb..."
tmp_path="/tmp/"
file_path="/home/mixislink/data_backup/mongo/"
file_name_base="mongo_"
file_name="${file_name_base}$(date +%Y%m%d_%H%M%S)"

mkdir -p ${file_path}
docker exec mongo mongodump -h 192.168.1.120:27017 -uh2Admin -pxxx --authenticationDatabase h2_energy_digital -d h2_energy_digital   -o ${tmp_path}${file_name}
docker exec mongo tar -czvf ${tmp_path}${file_name}.tar.gz ${tmp_path}${file_name}
docker exec mongo rm -rf ${tmp_path}${file_name}

docker cp mongo:${tmp_path}${file_name}.tar.gz ${file_path}${file_name}.tar.gz

find ${file_path} -type f  -mtime +30 -name "${file_name_base}*.tar.gz" | xargs rm -rvf
scp -C "${file_path}${file_name}.tar.gz" root@192.168.1.106:/home/"${file_name}.tar.gz"
ssh root@192.168.1.106 "find /home/ -type f -mtime +30 -name '${file_name_base}*.tar.gz' | xargs rm -rvf"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值