日期:2014-05-16  浏览次数:20547 次

简单的Linux自动化远程FTP备份的脚本

脚本功能介绍:
每天自动备份本地MySQL数据库,并上传备份文件到远程FTP服务器,传输完成后删除本地一周以前旧的备份文件;

# vim backupdb.sh

#!/bin/bash
cd /data/backup
DATE=`date +"%y%m%d"` #定义时间变量,方便备份文件以时间命名
?
mysqldump -udbuser -pdbpass dbname> "$DATE".dbname.sql #备份MySQL数据库
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