centos定时备份数据库到另一个服务器上

该博客介绍了如何使用shell脚本来实现SQL数据库的备份,并通过gzip压缩,然后利用scp命令将备份文件安全地传输到远程服务器。过程中涉及到了mysqldump、gzip、scp等工具的使用,以及SSH密钥对的生成与配置,确保了数据的安全传输。最后,还展示了如何设置cron定时任务来定期执行这个备份过程。
摘要由CSDN通过智能技术生成

编写sql导出脚本

backpath='/root/backup-sql/'
datetime=$(date +%Y%m%d_%H%M%S)
filename=''$backpath'gxfic_'$datetime'.sql.gz'
database=gxfic_demo
echo "=====starting dump to ${backpath}"
mysqldump -uroot -p12345678aA@ $database | gzip > $filename

生成访问服务器密钥

发送方:
生成ssh访问密钥,一直敲回车:ssh-keygen -t rsa
在/root/.ssh 目录下生成两个文件id_rsa和id_rsa.pub,把 id_rsa.pub 里的内容全选复制
接收方:
进入 /root/.ssh 文件夹,把刚刚复制的内容粘贴进 authorized_keys 的尾部,如果没有则创建

添加scp命令

scp -P 22 $filename root@192.168.159.132:/root/fromscp-data

完整shell脚本

#!/bin/bash
backpath='/root/backup-sql/'
datetime=$(date +%Y%m%d_%H%M%S)
filename=''$backpath'gxfic_'$datetime'.sql.gz'
database=gxfic_demo
echo "=====starting dump to ${backpath}"
mysqldump -uroot -p12345678aA@ $database | gzip > $filename
echo "=====dump complete"
scp -P 22 $filename root@192.168.159.132:/root/fromscp-data
echo "=====send successful"

添加定时器

# 编写定时器命令
crontab -e
# 定时执行内容,每五分钟执行一次
*/5 * * * * sh /root/cron-shell/dumpsql-gzip.sh
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值