#!/bin/bash
file_name=`date +%s`
cd /
if [ '${1}' == "--full" ];
then
rm -f bkp-crm/snapshot.inc
fi
tar -cpzg bkp-crm/snapshot.inc --recursion --sparse --no-check-device -f bkp-crm/upload/${file_name}.tar.gz upload/
О проблеме:
snapshot.inc - вместо списка файлов, пустой. Он имеет нулевой размер. Наблюдается такое поведение именно при попытке бэкапа /upload, я так понимаю, что это из-за того, что это раздел. Я пробовал добавить -M, но из этого ничего не вышло. Подскажите в чем может быть ошибка.
Спасибо!
Во-первых, Вы вместо двойных кавычек поставили одинарные, поэтому переменная не раскрывается. Во-вторых, там нужно = , а не ==, хотя, возможно, bash и такое проглотит.
А по теме — надо подумать...
Спасибо за замечание, поправил в скрипте. Собственно выяснил такие детали. При старте скрипта создается snapshot, но заполняется он по окончанию создания архива. Проблема не в том, что у меня раздел, а в том, что скрипт не отрабатывает до конца. Добавил в начало и конец строки, записывающие в файл время начала и окончания соответственно, по результатам отработки скрипта в файле остается только время старта. Соответственно, не отработав до конца и снапшот остается пустым. Добавил --ignore-failed-read, надеюсь это как-то поможет. Ошибок не вижу..