【发布时间】:2014-01-29 16:32:36
【问题描述】:
我是 shell 脚本的新手,一直在寻找有关如何为我的网站创建备份脚本的示例,但我找不到一些东西,或者至少找不到我理解的东西。
我有一台 Synology Diskstation 服务器,我想用它自动(通过其调度程序)备份我的网站。
我目前正在通过我的 Mac 上的 Automator 和 Transmit FTP 程序来执行此操作,但将其作为命令行过程是我努力的地方。
这就是我希望在脚本中执行的操作:
1) 在没有浏览器的情况下打开一个 URL(这个 URL 会在服务器上创建一个数据库的 mysql 转储,以便稍后下载)。示例网址为http://mywebsite.com/dump.php
2) 使用 FTP 从服务器下载所有文件。 (目前 Transmit FTP 将此作为同步功能处理,仅下载远程文件日期比本地文件更新的文件。它还将删除远程服务器上不存在的任何本地文件)。
3) 创建步骤 2 中文件的压缩存档,命名为 website_CURRENT-DATE
4) 将存档从第 3 步移至特定文件夹,并删除此特定文件夹中超过 120 天的所有文件。
现在我不知道如何执行第 1 步,或第 2 步中的同步(我知道如何使用 wget 下载整个站点,但这似乎每次运行时都会下载所有内容,即使它没有被改变)。
步骤 3 和 4 可能很容易通过搜索找到,但我还没有搜索过,因为我无法通过步骤 1。
谢谢!
另外仅供参考,我的网络主机不做这些类型的备份,所以这就是我喜欢自己做的原因。
【问题讨论】:
-
您是否只想使用 PHP 脚本来执行此操作?编写批处理脚本或其他脚本语言可能更容易。
-
外部托管网站真的是您的主副本吗?我认为你会在你自己的 PC 或服务器上拥有你开发的主机,然后在你进行可发布的更改时偶尔推送。然后你在本地备份你的开发系统。
-
@fedorqui 谢谢!......那么像 curl --silent example.com 这样的东西会这样做吗?
-
@mmbratch - 这是一个使用 CMS 的网站,所以我真的不做任何开发,是的,因此它基本上是大师。
-
@Joey,Synology NAS 运行的是 linux,所以我想我会写一个 .sh 脚本
标签: php bash shell backup synology