【问题标题】:Backup all web files from VPS [closed]从 VPS 备份所有网络文件 [关闭]
【发布时间】:2014-07-18 19:41:48
【问题描述】:

我有一个 VPS,有几十个网站,我需要定期备份,比如说一周两次(周日晚上 11 点和周三晚上 11 点)。

我在服务器管理和用户经验方面只有很少的经验。使用 Linux(我尝试使用 linux 玩了 2 年)。

我需要备份的文件位于 /var/www/hosting/webXX/www/ 目录中(XX 表示 web1、web2、... web50)。编辑:在 webXX 目录中有更多目录,我只需要这个(www)。

我试图为此找到一个 bash 脚本,但没有结果。在 bash 脚本中,我没有 exp。然后我只用cron调用脚本。

在星期一和星期四,我想将一个压缩文件下载到我的计算机上(手动下载,如果不能自动下载的话)。

谢谢。 罗马

编辑: 好的,我尝试了没有 bash 的解决方案。 通过 ssh 在命令行中,

ssh root@server '( cd /var/www/hosting/web*/www/ && tar cfz - . )' > backup.tar.gz

它不是自动的(如 bash 脚本),我必须手动启动它。

问题:我只需要第一个网络,而不是递归所有网络。

有什么想法吗?

【问题讨论】:

  • 如果您可以通过 SSH 访问您的 VPS,您可以尝试使用您的 SSH 用户数据通过 SFTP 连接 FileZila,这样您将能够手动下载您需要的文件。如果您需要备份,因为它是网站的开发,您应该考虑使用代码存储库并备份整个 VPS,以便您可以保存数据库等。
  • 感谢您的评论。我现在正在使用 FileZilla,但还有更多问题: 1. 我在上面的编辑,从每个网站我只需要下载(或压缩)一个文件夹(www),没有别的。第二件事,关于服务器速度,我需要在夜间执行此操作。我真的在寻找 bash 脚本,没有通过 FileZilla 手动加载文件。
  • 所以我需要将目录(要下载的文件)指定为 /var/www/hosting/web*/www/*,这在 FileZilla 中是不可能的。

标签: linux bash cron backup vps


【解决方案1】:

这样的事情应该可以工作:

tar czf backup.tar.gz `ls /www/hosting | grep \.com$ | sed 's/$/\/www/g' | sed 's/^/\/www\/hosting\//g'`

【讨论】:

  • hm,我试过 ssh root@server 'tar czf backup.tar.gz ls /var/www/hosting | grep ^www' 并返回“tar:懦弱地拒绝创建空存档”。路径没问题,我已经检查过很多次了。
  • 我写的整个命令包括。 “tar”之前和“www”之后的单引号。语法荧光笔吃了我:-( 应该是:ssh root@server 'your_code'.
  • 必须是 tar czf backup.tar.gz `ls /www/hosting | grep \.com$ | sed 's/$/\/www/g'`
  • 忘记指定输出文件tar czf backup.tar.gz `ls /www/hosting | grep \.com$ | sed 's/$/\/www/g' | sed 's/^/\/www\/hosting\//g'`
  • 是的,这是我的建议
猜你喜欢
  • 1970-01-01
  • 2013-09-23
  • 2013-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-02
  • 2013-06-12
  • 2017-04-23
相关资源
最近更新 更多