脚本功能介绍:每天自动备份本地My
SQL数据库
,并上传备份文件到远程FTP
服务器,传输完成后删除本地一周以前旧的备份文件;
# vim backupdb.sh
#!/bin/bash
cd /data/backup
DATE=`date +"%y%m%d"` #定义时间变量,方便备份文件以时间命名
mysqldump -udbuser -pdbpass dbname> "$DATE".dbname.sql #备份My
SQL数据库
tar czvf "$DATE".dbname.tgz "$DATE".dbname.sql #压缩备份出的MySQL数据库dump文件
ftp -n <<! #开始FTP自动传输
open 192.168.1.10 #连接FTP
服务器
user ftpuser ftppass #输入FTP用户名密码
binary #以二进制格式传输
prompt off #关闭交互提示
cd /ftpbackup/
mysqldb #进入远程FTP服务器的备份目录
lcd /data/backup #进入本地的备份目录
put "$DATE".dbname.tgz #上传压缩后的MySQL备份文件
bye #退出FTP服务器
!
find /data/backup/*.sql -mtime +7 -delete #删除7天以前的MySQL数据库dump文件
find /data/backup/*.tgz -mtime +7 -delete #删除7天以前的MySQL数据库压缩文件
给脚本加上可执行权限
# chmod +x backupdb.sh
使脚本在每天的凌晨2点执行
#crontab -e
1 0 2 * * * /root/backupdb.sh