记一次sshpass备份数据(mysql)
第一步:安装sshpass
第二步:执行如下命令,输入yes,注意:第一次使用sshpass时,需要执行ssh 或者scp
scp -P 4022 -r oa.txt backups@112.30.112.123:/home/backups/dbbak/foa/mysql/

输入yes后直接退出即可
第三步:创建自动发布脚本 auto-backup.sh,内容如下:cd /root/backupcurrentDate=`date +%Y%m%d`echo 开始备份 $currentDate
cd /root/backup
mkdir $currentDate
docker exec -i mysql323 mysqldump -uroot -pAht@app@mysql aht-oa > $currentDate/oa.sql
docker exec -i mysql323 mysqldump -uroot -pAht@app@mysql aht-boot > $currentDate/boot.sql
docker exec -i mysql323 mysqldump -uroot -pAht@app@mysql nacos > $currentDate/nacos.sql
echo mysql数据开始打包
tar -czvf $currentDate.mysql.tar.gz $currentDate
echo mysql数据开始远程复制
sshpass -pah@FY2021BAK! scp -P 4022 -r $currentDate.mysql.tar.gz backups@112.30.112.123:/home/backups/dbbak/foa/mysql/
echo minio数据开始备份
echo "/root/mino/ahtfiles/temp/$currentDate"
if [ -d "/root/mino/ahtfiles/temp/$currentDate" ];then
tar -zcvPf $currentDate.minio.tar.gz /root/mino
sshpass -pah@FY2021BAK! scp -P 4022 -r $currentDate.minio.tar.gz backups@112.30.112.123:/home/backups/dbbak/foa/minio/
else
echo "minio数据没有可以备份的数据"
fi
rm -rf ${currentDate}*
第四步:在/etc/crontab中添加调度计划
50 23 * * * root /root/backup/auto-backup.sh > /root/backup/auto-backup.log 2>/root/backup/auto-backup.error
浙公网安备 33010602011771号