[root@localhost ~]# vim sql.sh
#!/bin/bash
date_str=$(date +%Y%m%d_%H%M%S) ##输出当前时间
RemoteBackDir=/root/mysql_backup ##远程备份路径
RemoteUser=root ##远程服务器用户
RemotePort=22 ##远程服务器端口
RemoteIP=192.168.3.97 ##远程备份的服务器IP
BackDir1=/root/backups/data ##备份路径
mysqldump -uroot --password='123123' --all-databases > $BackDir1/backup_$date_str.sql ##mysqldump备份
BACKUPFILE_SEND_TO_REMOTE=$(find /root/backups/data -type f -mmin -60 -name '*.sql*') ##定义一下那个备份文件
scp -P $RemotePort $BACKUPFILE_SEND_TO_REMOTE $RemoteUser@$RemoteIP:$RemoteBackDir ##拷贝到远程目录
find $BackDir1 -type f -mtime +14 -name '*.sql*' -exec rm {} \; ##查找14天之前的sql文件并删除 (最好备份机器也写一个查找删除的脚本)
echo 3 > /proc/sys/vm/drop_caches ##清理下缓存(爱清不清,不清拉倒)
给个可执行权限,写个计划任务
[root@localhost ~]# chmod a+x sql.sh
[root@localhost ~]# crontab -l
30 22 * * * /root/sql.sh
远程备份服务器可以写个定期删除的脚本,再写个计划任务
MySqlBackDir1=/root/mysql_backup
find $MySqlBackDir1 -type f -mtime +14 -name '*.sql*' -exec rm {} \;