Я не знаю ни о каких ресурсах онлайн, которые будут столь же полезными как эта книга: Понимание Ядра Linux. Глава 12 касается уровня Linux VFS, и Глава 18 касается ext2/ext3 конкретно.
Книга, вероятно, о должном для четвертого выпуска, так как это приблизительно 2.6.10, но основы являются все еще тем же. Существует большое продолжение в файловых системах в эти дни, тем не менее, таким образом, было бы хорошо, если бы книга касалась ext4 и btrfs также.
Команды в сценарии оболочки выполняются последовательно. Если Ваша первая команда rsync
, следующая команда не выполнится до rsync
завершается.
То, в чем Вы хотите быть уверенными, является этим rsync
концы успешно прежде, чем продолжиться к следующей команде.
Это не самое изящное решение, но самое легкое для реализации.
rsync -e ssh -az user-whatever@website.com:/home /location/of/local/folder &&\
tar zcf /var/backups/home-`date +%Y%m%d`.tar.gz /location/of/local/folder
Следует иметь в виду, что это будет только работать если статус выхода rsync
0
. Любой другой статус выхода и команда 2 не будут работать.
AND and OR lists are sequences of one of more pipelines separated by the && and || control operators, respectively. AND and OR lists are executed with left associativity. An AND list has the form command1 && command2 command2 is executed if, and only if, command1 returns an exit status of zero.
Вы могли добавить больше аналитики к своему сценарию при выполнении различных действий на основе rsync
ЗНАЧЕНИЯ ВЫХОДА.
#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin
rsync -e ssh -az user-whatever@website.com:/home /location/of/local/folder
if [ $? != "0" ]
then
echo "There was a problem"
else
tar zcf /var/backups/home-`date +%Y%m%d`.tar.gz /location/of/local/folder
fi