【发布时间】:2014-09-08 22:14:11
【问题描述】:
我有一个运行 WHM/cPanel 站点的 CentOS 服务器,其中很多站点都运行 WordPress。我想做一个自动备份,将包含“上传”文件夹的任何帐户压缩并移动到备份目录中。我知道还有其他解决方案,但最希望你备份整个 WordPress 网站,但我只需要备份上传的内容。
我不太擅长 .sh 脚本,并且已经花了很多时间试图弄清楚这一点,但我似乎找不到任何足以让我成功的例子。我遇到的主要问题是在帐户之后命名 zip。
大多数上传文件夹的位置(user1 是更改的帐户):
/home/user1/public_html/wp-content/uploads
/home/user2/public_html/wp-content/uploads
/home/user3/public_html/wp-content/uploads
脚本示例:
find /home/ -type d -name uploads -exec sh -c 'zip -r /backup/uploads/alluploads.zip `dirname $0`/`basename $0`' {} \;
这种方法的问题在于它全部写入一个 zip 文件。如何更改此设置以将每个用户上传的内容保存到自己的 user1-uploads.zip 文件中?
我玩过 exec 和 sed,但我似乎无法弄清楚。这是我得到的最好的——只是想让它呼应这个名字——但这是不对的。对不起,我对正则表达式很糟糕:
find /home/ -type d -name uploads -exec sh -c 'string=`dirname $0` echo $string | sed `/\/home\/\(.*\)\/new\/wp-content\/uploads/`'{} \;
对于如何解决此问题的任何帮助或指导,我们将不胜感激。谢谢!
【问题讨论】:
-
这似乎是您关于堆栈溢出的第一个问题。对清晰、简洁和代码示例的赞誉。