如何创建Cron作业以将MySQL和FTP备份备份到我的备份服务器? [英] How to create Cron job to backup MySQL and FTP backup to my backup server?

查看:112
本文介绍了如何创建Cron作业以将MySQL和FTP备份备份到我的备份服务器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想设置一个要运行的cron作业,以便它将在数据库运行时自动备份我的MySQL数据库,然后将该备份通过FTP传输到我的备份服务器上.

I want to setup a cron job to run so that it will automatically backup my MySQL database, while the database is running, and then FTP that backup to my backup server.

我认为我可以使用bash脚本来做到这一点.

I assume I can do this using a bash script.

有人知道实现此目标的好方法吗?

Anyone know of a good way to accomplish this?

谢谢.

推荐答案

这是使用lftp命令行ftp客户端的非常简单的方法:

This is a very simple approach using the lftp command line ftp client:

backup.sh:

backup.sh:

mysqldump -f [database] | gzip > /backup/[database].dump.gz
lftp -f /backup/lftp.script

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

注意:此方法存在许多问题:

Note: This approach has a number of issues:

  • ftp未加密,因此任何能够嗅探网络的人都可以看到密码和数据库数据.通过gpg -e [key]对其进行管道传输可用于加密转储,但ftp密码保持未加密状态(sftp,scp是更好的选择)
  • 如果有人入侵数据库服务器,他可以使用此脚本中的用户信息来访问ftp服务器,并根据权限删除备份(这在现实世界中已发生: 查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆