Короче говоря: просто удалите >/dev/tty
часть от dbbackup.sh
; используйте просто:
echo $TARFILE
Это распечатает $TARFILE к стандартному выводу, т.е. на экран, если Вы будете работать dbbackup.sh
в терминале, или к файл/канал, если перенаправление существует (как это происходит с одинарной левой кавычкой оболочки /$(...)
расширение).
Существует также другая причина, почему вещь не будет работать даже при исправлении проблемы выше: Ваш dbbackup.sh
сценарий печатает имя файла tar к стандартному выводу, но в строке
DBBACKUP="`dbbackup.sh >&/dev/null`"
Вы отбрасываете любой вывод, прибывающий из dbbackup.sh
(путем перенаправления его к /dev/null
). Если Вы только хотели отбросить ошибки, то используйте 2>/dev/null
перенаправление.
Более длинная история: строка
echo $TARFILE > /dev/tty
перенаправляет вывод echo
команда к /dev/tty
(терминал, к которому текущий процесс присоединяется) вместо того, чтобы печатать к потоку стандартного вывода, совместно использованному другими командами в dbbackup.sh
сценарий. Поэтому, когда Вы далее перенаправляете вывод dbbackup.sh
в dbbackup.sh >&/dev/null
, это второе перенаправление не влияет echo
команда.
Вы могли бы хотеть читать немного больше на замене перенаправления и команды оболочки.
Журнал является различием. У Вас не может быть ext3 файловой системы без журнала. При отключении журнала это становится ext2 файловой системой снова.
ext4 имеет много выгодных функций и может работать без журнала, делая его намного лучшим выбором.
/etc/mke2fs.conf
. Это перечисляет, изменяют размер и dir_index как значения по умолчанию, относился ко всем разновидностям, включая ext2. Единственный ext3 добавляет, журнал.
– psusi
20.07.2012, 21:42