Показати сторінкуСтарі ревізіїПосилання сюдиЕкспорт до PDFПовернутися наверх Ця сторінка доступна тільки для перегляду. Ви можете продивитися вихідний текст, але не можете змінювати його. Якщо ви вважаєте, що це не вірно, зверніться до адміністратора. ee /etc/csh.cshrc set prompt = "%{^[[40;32;1m%}`whoami`@%m:%{^[[40;33;1m%}%~ %#%{^[[40;0;0m% } " ====== Rsync ====== <WRAP round info 100%> 192.168.0.1 = master 192.168.0.2 = slave1 192.168.0.3 = slave2 </WRAP> ====== 192.168.0.1 = master ====== Завдання – синхронізація файлів віртуальних хостів. Використовуватимемо rsync у зв'язці з ssh. <code|bash> pkg install rsync </code> Для цього на першому сервері (з якого зливатимемо бекапи) правимо вайл конфіга sshd <code|bash> ee /etc/ssh/sshd_config </code> і в кінець додамо: <code|bash> Match Host 192.168.1.*,172.0.0.1/27 PermitRootLogin yes # without-password PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys HostbasedAuthentication не PermitEmptyPasswords no </code> цим кодом, дозволяємо вхід під рутом тільки для описаних хостів у перевірці (можна вказати як хост так і мережу, розділяти комою без пробілів) перед перезапуском сервісу sshd, обов'язково перевіряємо конфіг на помилки командою "**sshd -t**", і якщо висновок порожній, значить помилок немає і можна перезапустити сервіс sshd: <code|bash> service sshd restart </code> перевіряємо доступ по ssh з дозволених та інших хостів, і якщо пускає тільки з дозволених, значить все ок. <code|bash> mkdir /root/.ssh chmod 0700 /root/.ssh touch /root/.ssh/authorized_keys chmod 0644 /root/.ssh/authorized_keys </code> ====== 192.168.0.3 = slave1 ====== <code|bash> pkg install rsync </code> <code|bash> mkdir /root/.ssh chmod 0700 /root/.ssh </code> <code|bash> ssh-keygen -t rsa -b 4096 -P "" -f /root/.ssh/root-key cat /root/.ssh/root-key.pub </code> вміст файлу /root/.ssh/root-key.pub потрібно записати у файл /root/.ssh/authorized_keys на сервері якого буде коннектиться (192.168.0.1 = master) Далі на другому сервері створюємо, наприклад, /root/scripts/ файл, назвемо його sync.sh: <code|bash> /usr/local/bin/rsync -e 'ssh -l root -i /root/.ssh/root-key' --progress -lzuogthvr --compress-level=9 --delete-after root@192.168.0.1: /opt/vhosts/sitename.ru/ /opt/vhosts/sitename.ru/ >> /root/logs/sync.sitename </code> sitename.ru - ім'я віртуального хоста Дозволимо запуск: <code|bash> chmod +x /root/scripts/sync.sh </code> Пропишемо в /etc/crontab: <code|bash> 0 */1 * * * root /root/scripts/sync.sh >/dev/null 2>&1 </code> У моєму прикладі синхронізація виконується щогодини. <code|bash> </code> [[https://wiki.enchtex.info/tools/console/rsync?do=source]] freebsd/rsync.txt Востаннє змінено: 05/03/2022 11:19повз Method Увійти