这篇文章很有分享价值,因为我们在实际的生产环境中需要将数据库进行自动备份,然后上传到指定的位置,当然也可以像以下文章中所讲的一样,上传到你指定的FTP服务器中,从而实正州现Mysql数据库自动备份并上传到远程FTP服务器的部署,在Linux技术交流群中,也有朋友会遇到这方面的问题,可以将此文分享给群友共益。注意:任何的操作都会具有风险性,请在本机实际测试通过之后再部署到服务器环境,这样即熟练的掌握了操作的技巧,也能在测试过程中发现问题,寻找解决方法。 说明:我这里要把MySql数据库存放目录/var/lib/mysql下面的data数据库备份到/home/mysql_data里面并且保存为mysqldata_bak_2012_12_19.tar.gz的压缩文件格式(2012_12_19是指备份执行时当天的日期)然后只保留最近7天的备份再把备份文件通过ftp服务器举数蔽上传到指定空间,只保留最近7天的数据实现步骤:1、创建保存备份文件的路毕竖径:/home/mysql_data cd /home mkdir mysql_data2、创建备份脚本文件:/home/mysql_data/mysql_databak.sh cd /home cd mysql_data touch mysql_databak.sh vim mysql_databak.sh 输入以下内容:########################################################################################################!/bin/shDUMP=/usr/bin/mysqldump #mysqldump备份文件执行路径OUT_DIR=/home/mysql_data #备份存放路径LINUX_USER=root #系统用户名DB_NAME=data #要备份的数据库名字DB_USER=root #数据库账号 注意:非root用户要用备份参数 --skip-lock-tables,否则可能会报错DB_PASS=123456 #数据库密码DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份cd $OUT_DIR #进入备份存放目录DATE=`date +%Y_%m_%d` #获取当前系统时间OUT_SQL="$DATE.sql" #备份数据库的文件名TAR_SQL="mysqldata_bak_$DATE.tar.gz" #最终保存的数据库备份文件名$DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 --opt -Q -R --skip-lock-tables> $OUT_SQL #备份tar -czf $TAR_SQL ./$OUT_SQL #压缩为.tar.gz格式rm $OUT_SQL #删除.sql格式的备份文件chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL #更改备份数据库文件的所有者find $OUT_DIR -name "mysqldata_bak_*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件deldate=` date -d -7day +%Y_%m_%d ` #获取7天前的时间ftp -n<<!open 192.168.1.1 21 #打开ftp服务器。21为ftp端口user admin 123456 #用户名、密码binary #设置二进制传输cd mysqlbak #进入ftp目录(这个目录必须为ftp空间真实存在的目录)lcd /home/mysql_data #列出本地目录prompt put mysqldata_bak_$DATE.tar.gz mysqldata_bak_$DATE.tar.gz #上传目录中的文件delete mysqldata_bak_$deldate.tar.gz mysqldata_bak_$deldate.tar.gz #删除ftp空间7天前的备份closebye !#######################################################################################################3、修改文件属性,使其可执行 chmod +x /home/mysql_data/mysql_databak.sh4、修改/etc/crontab vi /etc/crontab 在下面添加 30 1 * * * root /home/mysql_data/mysql_databak.sh 表示每天凌晨1:30分执行备份5、重新启动crond使设置生效 /etc/rc.d/init.d/crond restart chkconfig crond on #设为开机启动 service crond start #启动 每天你在/home/mysql_data目录下面可以看到类似mysqldata_bak_2012_12_19.tar.gz这样的压缩文件 如果需要恢复文件的时候,只需要把这个文件解压即可 解压缩tar -zxvf mysqldata_bak_2012_12_19.tar.gz至此,我们完成了Linux中Mysql数据库自动备份并上传到远程FTP服务器的部署。
FtpCopy是一款稳定可靠激信的数据自动备份软件,能够实现FTP数据和本地磁盘数据的定时自动备份,包含FTP自动下载、FTP自动明闷轮上传、本地磁盘三种备份模式。同时FtpCopy还支持各种备罩前份规则的设置。
这个很多ftp工具就锋迟能解决了,比如8Uftp,IIS7服务器管理工具。比如用IIS7,你可以设置定时上传下载,备份,自动更新芦基销,而且还是中文界面,按照要求设置一下就行了。设置定时任务的界面:此外,它不仅可以管理ftp,同时也是vnc的客户端iis7服务器管理工具,是服务器批量管理集成器.windows与linux都可以集成管理,可谓是非常方陪游便.