0887 371 498 support@itservice-bg.net
16.12.2012 · Самуил Арсов · Bash script, Debian, Hosting, Linux commands, Ubuntu

как да направим сигурен rsync архив през ssh на отдалечена Linux машина

как да направим сигурен rsync архив през ssh на отдалечена Linux машина

rsync

Темата с архивите найстина е много мелена. В Интернет има един куп програми които правят това. Аз обаче си обичам простите и надеждни неща като на първо място слагам rsync.

Rsync е софтуерно приложение и мрежов протокол за Unix-подобни системи, което синхронизира файлове и директории от едно място на друго, като същевременно минимизират трансферa на данни чрез използване на делта кодиране което дава много бърз метод за привеждане на отдалечени файлове в синхрон. rsync всъщност създава огледало на данните на отдалечено място без да копира цялата информация а само файловете които са търпели промяна.

Метода който аз използвам за архивиране е комбинация между rsync и една друга програма sshpass.

Sshpass е инструмент за интерактивно удостоверяване на парола чрез протокола SSH. Повечето потребители трябва да използват протокола SSH за по-сигурна публична ключ автентикация. Когато потребителя се логне той се намира в отдалечена конзола но когато иска само да изпълни отделна команда като например rsync, sshpass е много удобен.

Как всъщност комбинирам двете програми:

sudo apt-get install sshpass rsync
sshpass -p yourpassword rsync -avz --delete -e ssh root@93.155.130.55:/ --exclude=/proc --exclude=/dev \
--exclude=/sys /backup/hosting

Какво всъщност се случва.
sshpass добавя паролата „yourpassword“ в ssh и с помоща на rsync създава архив от ип адрес 93.155.130.55 от главната директория /
архивът се копира на локалната машина в /backup/hosting а опцията –exclude= показва коя директия да не се архивира. В случая /proc /dev и /sys са напълно излишни. Тук всички се замислят -Добре имам архив но защо трябва да е от главната директория. Отговора е прост -В обатен вариант при гръмнал хард диск може да се въстанови цялата система на нов диск. Само трябва да се инсталира нова операционна система, после да се копира с rsync и накрая да се упгрейдне grub с командата upgrade-from-grub-legacy.

как да направим сигурен rsync архив през ssh на отдалечена Linux машина