谁能告诉我如何创建备份脚本对于用作网络服务器。
我还想将其添加为 cron 作业,以便它每天午夜自动运行12:00 AM
我在 VPS 中使用的程序:
- Apache2
- php5
- MySQL
- phpMyAdmin
- 已启用站点
- SSL
提前致谢!
答案1
研究使用以下方法rsync
对其他服务器执行实际备份:
man rsync
你需要知道确切地但是,您要备份哪些数据。仅从程序列表中(如果您使用的是 vanilla 目录),您至少需要备份:
- /var/lib/apache2
- /var/日志/apache2
- /var/www
- /etc/apache2
- /var/lib/mysql
要安排备份过程,您可以查看crontab
:
man crontab
尖端:
- 尝试将备份过程隔离给特定用户,然后授予其对备份目录的读取权限。我会高度建议不要使用
root
用户备份您的数据。 - 确保您的备份脚本是可执行的(
chmod +x /my/backupscript
) rsync
通过 SSH 运行,因此启动备份的任何内容都需要 SSH 访问权限 (man ssh-keygen
)。- 根据您托管的数据类型,您需要确保停止使用备份目录的所有进程。我绝对建议至少停止 MySQL (
service mysqld stop
)。 - 更有效的方法是制作本地压缩 (
man tar
) 数据备份(例如,备份到/backups/mydata_$(date +%s).tgz
),然后rsync
将本地备份到其他服务器。rsync
随着数据集的增长,主动备份实际目录可能会导致数据库停机时间延长。