我正在尝试为朋友从 GoDaddy 的共享托管环境中创建备份。整个网站文件大约 2GB,而 GoDaddy 不支持存档超过 20MB 的文件。唯一的选择是使用服务器端 tar。
基本上,当 Cron 仅完成一半工作时,我就会遇到问题,只能压缩 1GB+ 中的 300MB。
这是我正在使用的脚本,
#!/bin/bash
/bin/tar -cvzf $HOME/html/fullsite_test.tgz $HOME/html > $HOME/html/Out.log 2>&1
这是我在 Godaddy 的命令中填写的内容,
"$HOME/html/backup.sh"
有人知道为什么它没有按预期工作吗?我甚至处理了 stderr 和 stdout,所以我仍然不确定发生了什么……
注意:$HOME 是账户的绝对目录路径。
答案1
首先要注意的是,你备份的路径包括备份本身!!!!
假设这是 tar 的 gnu 版本....而不是
tar -cvzf $HOME/html/fullsite_test.tgz $HOME/html > $HOME/html/Out.log
尝试
tar -cvzf $HOME/html/backup.tgz $HOME/html --exclude backup > $HOME/html/backup.log
不确定 300Mb 的限制从何而来(您确定这是创建的文件的大小,还是您下载的文件的大小?)但(再次假设这是 Gnu tar)您可以执行以下操作:
tar -Mcvzf $HOME/html/backup.tgz $HOME/html \
$HOME/html/backup.tgz $HOME/html \
-L 200M -F backup_rotate.sh
其中 backup_rotate.sh 包含以下内容:
#!/bin/sh
mv -f $HOME/html/backup_vol4.tgz $HOME/html/backup_vol1.tgz
mv -f $HOME/html/backup_vol2.tgz $HOME/html/backup_vol3.tgz
mv -f $HOME/html/backup_vol1.tgz $HOME/html/backup_vol2.tgz
mv -f $HOME/html/backup.tgz $HOME/html/backup_vol1.tgz
(它可以做一点改进 - 但你明白了吗?)