Перейти до основного вмісту

Публікації

Показано дописи з міткою "rsync"

Автоматичний бекап на сервер Qnap

Необхідно, щоб NAS сервер Qnap робив "бекап" з іншого сервера з використанням rsync та тунелю ssh. У директорії /share/homes/admin створюємо командний файл mybak.sh. Використовуємо /share/homes, бо вона не створюється заново після рестарту сервера Qnap. Файл mybak.sh має наступний зміст #!/bin/sh rsync -ae ssh admin@10.1.1.1:/home/backups/ /share/homes/admin/serverbackups/ Модифікатор команди -e ssh admin@10.1.1.1: вказує, що відбувається синхронізація з серверу 10.1.1.1 через тунель ssh Команда буде синхронізувати теку /home/backups/ з серверу 10.1.1.1 у теку /share/homes/admin/serverbackups/ на NAS сервері. Після створення командного файлу треба встановити права для запуску наступним чином chmod u+x /share/homes/admin/mybak.sh Але при запуску для ssh необхідно кожного разу вказувати пароль. Щоб ssh створював з'єднання без паролю, треба створити приватний та публічний ключі за допомогою ssh-keygen -t rsa Потім копіюємо публічний ключ з ~/.ssh/id_rsa.pub на сервер 1

Використання виключення (exclude) в rsync

Якщо використовувати rsync для створення резервних копій, інколи потрібно виключити деякі файли або теки (директорії). Для виключення однієї теки або файлу треба використовувати параметр --exclude Якщо таких тек або файлів багато, тоді можна зібрати їх у текстовому файлі і тоді використати параметр --exclude-from Але при цьому теки виключення задаються у відносному вигляді, тобто відносно теки джерела. Відмінності добре описані у вигляді /dir/ means exclude the root folder /dir  /dir/* means get the root folder /dir but not the contents  dir/ means exclude any folder anywhere where the name contains dir/  Examples excluded: /dir/, /usr/share/mydir/, /var/spool/dir/  /dir means exclude any folder anywhere where the name contains /dir  Examples excluded: /dir/, /usr/share/directory/, /var/spool/dir/ /var/spool/lpd//cf means skip files that start with cf within any folder within /var/spool/lpd Поради знайшов у http://articles.slicehost.com/2007/10/10/rsync-exclude-files-and-folde

Налаштування ssh, rsync без пароля

Іноді потрібно встановити з'єднання scp, ssh або rsync без вказування пароля. Спочатку перевіряємо можливість встановлення з'єднання ssh з локального на віддалений сервер з паролем. Для генерації відкритого та закритого ключів на локальному сервері вказуємо $ ssh-keygen -t rsa Enter passphrase (empty for no passphrase): Enter same passphrase again: Пароль не вводимо.  Нам потрібен відкритий ключ, він буде збережений <your_home_dir>/.ssh/id_rsa.pub Для передачі відкритого ключа (id_rsa.pub) на віддалений сервер вказуємо ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.200.10   Відкритий ключ з локального  на віддалений сервер можна також передати за допомогою ftp, scp, rsync. На віддаленому сервері ключ повинен бути у ~/.ssh/authorized_keys. Перевірити права на ключ і якщо потрібно, то встановити через $ chmod 700 ~/.ssh/authorized_keys Нарешті можна перевірити встановлення з'єднання з локального на віддалений сервер ssh 192.168.200.10 Поради знайшов у http:/