Я пытаюсь создать резервную копию из среды общего хостинга Godaddy для друга. Весь файл сайта составляет около 2 ГБ, и Godaddy не поддерживает архивирование файлов размером более 20 МБ. Единственный вариант - использовать tar на стороне сервера.
В основном я сталкиваюсь с проблемой, когда Cron выполняет только половину своей работы, только сжимая до 300 МБ из 1 ГБ +.
Вот сценарий, который я использую,
#!/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 - это абсолютный путь к каталогу учетной записи.
Прежде всего следует отметить, что путь, который вы поддерживаете включает сам бэкап !!!!
Предполагая, что это GNU-версия tar .... Вместо
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
Не уверен, откуда исходит ограничение в 300 МБ (вы уверены, что это размер созданного файла или размер файла, который вы загрузили?), Но (опять же, предполагая, что это 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
(можно было бы немного доработать - но вы уловили идею?)