как да направим сигурен rsync архив през ssh на отдалечена Linux машина
как да направим сигурен rsync архив през ssh на отдалечена Linux машина
Темата с архивите найстина е много мелена. В Интернет има един куп програми които правят това. Аз обаче си обичам простите и надеждни неща като на първо място слагам 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 машина
