我想设置一个cron作业来运行,以便在数据库运行时自动备份我的MySQL数据库,然后将备份的FTP备份到我的备份服务器。
我假设我可以使用bash脚本执行此操作。
任何人都知道一个很好的方法来实现这个目标吗?
提前致谢。
答案 0 :(得分:2)
使用lftp命令行ftp client:
是一种非常简单的方法backup.sh:
mysqldump -f [database] | gzip > /backup/[database].dump.gz
lftp -f /backup/lftp.script
lftp.script:
open backup.ftp.example.com
user [username] [password]
cd /backup
mv webflag.dump.gz.8 webflag.dump.gz.9
mv webflag.dump.gz.7 webflag.dump.gz.8
mv webflag.dump.gz.6 webflag.dump.gz.7
mv webflag.dump.gz.5 webflag.dump.gz.6
mv webflag.dump.gz.4 webflag.dump.gz.5
mv webflag.dump.gz.3 webflag.dump.gz.4
mv webflag.dump.gz.2 webflag.dump.gz.3
mv webflag.dump.gz.1 webflag.dump.gz.2
mv webflag.dump.gz webflag.dump.gz.1
注意:此方法存在许多问题:
答案 1 :(得分:0)
如果数据库非常大,备份文件可能不适合服务器的硬盘驱动器。在这种情况下,我建议您使用以下管道方式和ncftpput:
mysqldump -u <db_user> -p<db_password> <db_name> | gzip -c | ncftpput -u <ftp_user> -p <ftp_password> -c <ftp_url> <remote_file_name>
它适用于我。