我有一个运行WHM/cPanel站点的CentOS服务器,并且很多这些站点运行WordPress。我想做一个自动备份,将包含“uploads”文件夹的任何帐户压缩并移动到备份目录中。我知道还有其他解决方案,但大多数人希望你备份整个WordPress网站,但我只需要备份上传。Bash脚本备份服务器上传文件夹
我对.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/`'{} \;
希望得到有关如何解决这一问题的任何帮助或方向。谢谢!
这似乎是你的第一个关于堆栈溢出的问题。关于清晰性,简洁性和代码示例的荣誉。 – Joe