Добрый день!
Делаю бэкапы сайтов встроенным скриптом "/opt/webdir/bin/bx_backup.sh" и в один "прекрасный" момент получаю ошибку нехватки места для бэкапа.
Заглянул в папку "/home/bitrix/backup/archive/" вижу там несжатый архив с расширением .tar.
Мне стало интересно почему последний архив с таким расширением, а не сжат в tar.gz, как предыдущие.
И тут я нашёл в скрипте "bx_backup.sh" следующий код.
Судя по логике сначала делается большой архив .tar, а потом он же сжимается. При этом место для такого преобразования нужно как минимум в 2 раза больше.
Объясните мне, зачем делать сначала "tar -cf ...", а потом отдельно "gzip $BACK_FILE" ?
Почему не сделать сразу "tar -czf ..." и получить за одну команду тот же самый сжатый архив, ещё и место в процессе создания сэкономить?
Спасибо!
Делаю бэкапы сайтов встроенным скриптом "/opt/webdir/bin/bx_backup.sh" и в один "прекрасный" момент получаю ошибку нехватки места для бэкапа.
Заглянул в папку "/home/bitrix/backup/archive/" вижу там несжатый архив с расширением .tar.
Мне стало интересно почему последний архив с таким расширением, а не сжат в tar.gz, как предыдущие.
И тут я нашёл в скрипте "bx_backup.sh" следующий код.
| Код |
|---|
...
create_backup_archive(){
BACK_FILE=$backup_dir/www_backup_${kernel_name}_${DATE_STR}_${RAND_STR}.tar
# create tar archive
tar -cf $BACK_FILE --exclude-from=$WWW_EXCL_DIR -C $BACK_KERNEL_ROOT \
$BACK_WWW_DIRS \
$BACK_SQL_FILES 2>/dev/null
# 1 Some files differ
# 2 Fatal error. This means that some fatal, unrecoverable error occurred.
[[ $? -eq 2 ]] && \
error "Cannot create tar archive=$BACK_FILE"
gzip $BACK_FILE
# delete sql files; we have added them to archive
for sql_file in $BACK_SQL_FILES; do
rm -f $sql_file
log_to_file "Delete sql file=$sql_file"
done
}
...
|
Объясните мне, зачем делать сначала "tar -cf ...", а потом отдельно "gzip $BACK_FILE" ?
Почему не сделать сразу "tar -czf ..." и получить за одну команду тот же самый сжатый архив, ещё и место в процессе создания сэкономить?
Спасибо!