ee /etc/csh.cshrc

set prompt = "%{^[[40;32;1m%}`whoami`@%m:%{^[[40;33;1m%}%~ %#%{^[[40;0;0m% } "

Rsync

192.168.0.1 = master
192.168.0.2 = slave1
192.168.0.3 = slave2

192.168.0.1 = master

Завдання – синхронізація файлів віртуальних хостів. Використовуватимемо rsync у зв'язці з ssh.

pkg install rsync

Для цього на першому сервері (з якого зливатимемо бекапи) правимо вайл конфіга sshd

ee /etc/ssh/sshd_config

і в кінець додамо:

Match Host 192.168.1.*,172.0.0.1/27
PermitRootLogin yes # without-password
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
HostbasedAuthentication не
PermitEmptyPasswords no

цим кодом, дозволяємо вхід під рутом тільки для описаних хостів у перевірці (можна вказати як хост так і мережу, розділяти комою без пробілів)

перед перезапуском сервісу sshd, обов'язково перевіряємо конфіг на помилки командою “sshd -t”, і якщо висновок порожній, значить помилок немає і можна перезапустити сервіс sshd:

service sshd restart

перевіряємо доступ по ssh з дозволених та інших хостів, і якщо пускає тільки з дозволених, значить все ок.

mkdir /root/.ssh
chmod 0700 /root/.ssh
touch /root/.ssh/authorized_keys
chmod 0644 /root/.ssh/authorized_keys

192.168.0.3 = slave1

pkg install rsync
mkdir /root/.ssh
chmod 0700 /root/.ssh
ssh-keygen -t rsa -b 4096 -P "" -f /root/.ssh/root-key
cat /root/.ssh/root-key.pub

вміст файлу /root/.ssh/root-key.pub потрібно записати у файл /root/.ssh/authorized_keys на сервері якого буде коннектиться (192.168.0.1 = master)

Далі на другому сервері створюємо, наприклад, /root/scripts/ файл, назвемо його sync.sh:

 /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

sitename.ru - ім'я віртуального хоста

Дозволимо запуск:

chmod +x /root/scripts/sync.sh

Пропишемо в /etc/crontab:

0 */1 * * * root /root/scripts/sync.sh >/dev/null 2>&1

У моєму прикладі синхронізація виконується щогодини.

 

https://wiki.enchtex.info/tools/console/rsync?do=source