mysql定时备份数据库 删除历史文件 将备份数据库传送到另外服务器

定时备份数据库脚本并压缩删除历史文件

1.创建备份脚本

vim   mysql-backup.sh

#!/bin/bash
bak=`date +%y-%m-%d-%H`
tool=/usr/local/mysql/bin/mysqldump
$tool -uroot -p密码 --lock-all-tables --all-databases | gzip > /路径/$bak.sql.gz

find 路径 -name "name_*.sql.gz"  -type f  -mtime +7 -exec rm -rf{} ; > /dev/null 2>&1

路径是sql备份文件的文件夹

-name这些就找文件名了

-mtime +7是每隔7天删除一次

2.为脚本添加执行权限

chmod +x mysql-backup.sh

3.添加定时计划

# crontab -e (和vim编辑器一样)

# crontab配置文件格式:分 时 日 月 周 

命令  crontab -e

0 0  *   *   *         //mysql-backup.sh            表示每天0点0分执行备份

4.重启crontab

/etc/init.d/crond restart

如果需要将备份文件传送到另外一个服务器,需要通过scp,需要在两边设备上做无密码验证

本地服务器:A
远程服务器:B

1.在 A 上运行 ssh-keygen -t rsa 在/root/.ssh 下生成id_rsa 和 id_rsa.pub 两个文件
在/root/.ssh下复制备份一份id_rsa.pub 命名为 id_rsa.pub.A

2. 在 B 上也同样运行 ssh-keygen -t rsa

 3. 在 B 的 /root/.ssh 下创建authorized_keys文件 把A 中 id_rsa.pub.A 文件 传到 B /root/.ssh 下
    通过 cat 命令 把id_rsa.pub.A 写到 authorized_keys 文件中

scp ./id_rsa.pub.A  B的IP:/root/.ssh
   cat id_rsa.pub.A  >> authorized_keys

 4.配置完毕

 测试:

   scp ./文件 192.168.190.208:/root/.ssh  无需输入密码执行成功

在配置完无需密码进行传送后在脚本下添加一句

scp 源路径 目的ip:目的路径

原文地址:https://www.cnblogs.com/M-98k/p/12674705.html