ищет однострочную команду удаленного резервного копирования, которая исключает каталоги и записывает в файл

Нет ничего плохого в том, чтобы позволить сценарию изменить свой рабочий каталог, если его нужно запустить с определенным рабочим каталогом (из-за того, что он использует относительные пути или что-то еще ).

Единственное, что можно сделать, это выйти с не -нулевым статусом выхода, если cdне удалось:

cd /root/demoproject || exit 1

Вы также можете изменить каталог в скрипте в зависимости от значения переменной окружения:

cd "${MY_WORK_DIR:-/root/demoproject}" || exit 1

Это изменит рабочий каталог на каталог, указанный в MY_WORK_DIR, но по умолчанию будет /root/demoproject, если эта переменная пуста или не установлена.

-1
20.04.2020, 04:45
1 ответ

Используйте tar на удаленной машине, чтобы она записывала данные в стандартный вывод и возвращала данные на локальную машину, перенаправляя вывод ssh в локальный файл. Вам, несомненно, придется тонко -настроить параметры tar, показанные ниже, но он должен делать то, что вы хотите:

ssh "root@$REMOTEHOST" tar --exclude /run --exclude /dev --exclude /sys --exclude /proc cvf - / > /backups/REMOTEHOST.$(date +%Y%m%d.%H%M%S)

Обязательно проверьте файл изображения с помощью «tar tvf» или подобного. Извините, это займет как минимум две строки, но если вы не тестируете свои резервные копии, значит, вы не выполняете резервное копирование.

0
19.03.2021, 02:27

Теги

Похожие вопросы