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

编写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 [email protected]:/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 [email protected]:/root/fromscp-data
echo "=====send successful"

添加定时器

# 编写定时器命令
crontab -e
# 定时执行内容,每五分钟执行一次
*/5 * * * * sh /root/cron-shell/dumpsql-gzip.sh

你可能感兴趣的:(Linux,数据库,服务器,centos)