QUESTION
要实现本地和异地(Ftp方式)的定期备份,请给我脚本,其中:
bx9目录: /var/web/bx9
mysql库: /usr/local/mysql/var/……
本地服务器的备份地址:/home/bx9_bak/
远端ftp服务器 ftp://ftp.back.com,备份目录 bx9_bak,用户名/密码:bx9/bx9123
策略:每天3:00
ANSWER
建立一个脚本:
mysqlautobak
#!/bin/sh
##online backup the mysql database
rq=`date +%y%m%d`
mysqldump databasename -uroot -p123456 |gzip > /home/bx9_bak/databasename$rq.sql.gz
tar -czPf /home/bx9_bak/bx9$rq.tar.gz /var/web/bx9
ftp -ni ftp://ftp.back.com<user bx9 bx9123
binary
lcd /root/backup
cd 加入绝对路/bx9_bak
put databasename$rq.sql.gz
put bx9$rq.tar.gz
bye
! |
请修改mysql的root口令!需要备份的数据库。。。。
建立好此脚本后,加执行权限!
测试运行!成功后可以加入定时
crontab
#crontab -e
0 3 * * * /etc/mysqlautobak |
即可!
由于mysqldump导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:
shell> mysqladmin create target_db_name
shell> mysql target_db_name < backup-file.sql |
windows下定义rsync的备份脚本
rem d:\backdir\* /cygdrive/c/backdir/*
set path=%path%;C:\Program Files\cwRsync\bin |
rem 设置path变量,
rsync -vzrtopg --progress --delete yongli@192.1.1.13::bx82 /cygdrive/d/backdir |
rem windows下的镜象客户端脚本编写时,对于驱动器的写法是:
rem 比如:需要把镜象文件放到d:\backdir下面;其写法应该是:/cygdrive/d/backdir
rem 其他和linux相同。