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

Автоматичний бекап на сервер 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 на сервер 10.1.1.1 у теку
/home/admin/.ssh/ до файла authorized_keys за допомогою 

scp ~/.ssh/id_rsa.pub root@10.1.1.1:/root/.ssh/authorized_keys
Тека на сервері повинна мати атрибут 0700, а файл 0600.

Але іноді не вдається з сервера QNAP зкопіювати до віддаленого сервера, тоді можна з віддаленого сервера 10.1.1.1 зробити копію id_rsa.pub за допомогою scp.

Тепер перевіримо з'єднання без паролю, за допомогою
ssh -l admin 10.1.1.1

Тепер треба встановити автоматичний запуск команди наступним чином
echo "45 15 * * * /share/toms/scripts/backup.sh" >> /etc/config/crontab

Або

vi /etc/config/crontab


Команда вказана таким чином збережеться після перезапуску Qnap на відміну, якщо
вказати через
crontab -e


Після внесення змін треба перезапустити crontab за допомогою
/etc/init.d/crond.sh restart
Інформацію знайшов у
http://www.contentecontent.com/blog/2015/01/automated-rsync-backups-from-a-webserver-to-qnap-nas/
https://wiki.qnap.com/wiki/Add_items_to_crontab


Більше інформації про створення, передачу ключів для ssh тут
http://wiki.qnap.com/wiki/SSH:_How_To_Set_Up_Authorized_Keys

Для інформування адміністратора про результати бекапа, можна написати функцію надсилання поштового листа, яку можна додати до командного файлу бекапу.
Функція надсилання пошти може виглядати так
send_mail()
# Send a mail message
# $1 = subject
# $2 = to
# $3 = from
# $4 = msg
{
local tmpfile="/tmp/sendmail.tmp"
/bin/echo -e "Subject: $1\r" > "$tmpfile"
/bin/echo -e "To: $2\r" >> "$tmpfile"
/bin/echo -e "From: $3\r" >> "$tmpfile"
/bin/echo -e "\r" >> "$tmpfile"
if [ -f "$4" ]; then
cat "$4" >> "$tmpfile"
/bin/echo -e "\r\n" >> "$tmpfile"
else
/bin/echo -e "$4\r\n" >> "$tmpfile"
fi
/usr/sbin/sendmail -t < "$tmpfile"
rm $tmpfile
}

 
Параметри поштового сервера потрібно вказати у 
/etc/config/ssmtp/ssmtp.conf.

Інформацію щодо надсилання поштового листа знайшов у
http://forum.qnap.com/viewtopic.php?t=18350



Якщо робиться копія з віддаленого сервера на локальний потрібно уважно вказати шлях теки (файлів) на віддаленому сервері. Якщо користувач для підключення буде не root, то можливо краще бути вказувати шлях відносно робочої теки користувача на віддаленому сервері, тоді без першого "/".

Поради щодо копіювання з віддаленої теки на локальний сервер, знайшов у
https://stackoverflow.com/questions/9090817/copying-files-using-rsync-from-remote-server-to-local-machine
https://www.tecmint.com/rsync-local-remote-file-synchronization-commands/

Опис усіх опцій rsync знайшов у
https://download.samba.org/pub/rsync/rsync.html

Коментарі

Популярні дописи з цього блогу

Подключение Cisco 7911/7912 по SIP к Asterisk

Аппарат Cisco IP Phone 7911 по-умолчанию настроен на использование протокола SCCP. Можно в Asterisk указать использование модулей SCCP, но для единообразия удобнее использовать SIP. Для использования протокола SIP в аппарате Cisco 7911 нужно обновить программное обеспечение.  Код обновления для загрузки в аппарат нужно скачать с сервера Cisco: http://tools.cisco.com/support/downloads/pub/Redirect.x?mdfid=278875240 Самое последнее обновление (на данный момент версия 9.3) может не работать c Asterisk, с  версии 9.X Cisco переходит на использование только TCP для SIP соединений. Поэтому для использования UDP удобнее скачать обновление версии 8.5.2 или 8.5.4. Может понадобится  вначале   установить обновление 8.5.2, а затем 8.5.4. Например, для обновления с SCCP11.8-2-2SR-4S надо вначале установить 8.5.2 Обновление будет производится с сервера  TFTP, поэтому д ля начала нужно настроить сервер DHCP, TFTP. Причем в DHCP нужно настроить опцию 150, которая используется для указания аппа

Панель инструментов Remmina в полноэкранном режиме Ubuntu 12.04

Пакет Remmina 0.9.99 (протокол RDP) в системе Ubuntu 12.04 используется как клиент для доступа к терминальному серверу. Обнаружено странное поведение панели инструментов в полноэкранном режиме на терминальном сервере- панель инструментов исчезает и невозможно перейти в другое окно или закрыть сеанс. Для сворачивания окна можно использовать комбинацию клавиш CTRL+F9. Комбинации клавиш задаются в настройках Remmina, а CTRL нужно, чтобы комбинацию не перехватил терминальный сервер. В настройках Remmina есть параметр "Спрятать панель инструментов в полноэкранном режиме". Но иногда, даже если не указан этот параметр, меню не отображается. Можно, не закрывая терминальную сессию, изменить этот параметр на противоположный и после возврата в сессию, меню начнет появляться. В следующий раз перед открытием новых сессий в Remmina нужно правильно указать значение этого параметра. Размер иконок в панели инструментов можно изменить через основное меню Remmina

Изменение размера бумаги LibreOffice(OpenOffice)

Если при установке Ubuntu указать локаль «USA», то размер бумаги по-умолчанию установится «Letter». Если потом через «Система- Администрирование- Локализации» изменить локаль на «Украинский» («Русский»), изменится язык системы, формат даты, но размер бумаги по-умолчанию и единица измерения останутся прежними.  Совет нашел в http://www.nixp.ru/recipes/%D0%9A%D0%B0%D0%BA-%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C-%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80-%D0%B1%D1%83%D0%BC%D0%B0%D0%B3%D0%B8-%D0%B2-OpenOffice-org-%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E-%28libpaper%29.html Нужно в терминале запустить sudo dpkg-reconfigure libpaper1 В открывшемся списке выбрать формат А4. Можно напрямую в файле конфигурации (/etc/papersize) указать размер А4. Проверить можно в LibreOffice(OpenOffice) через меню «Формат-Страница». Еще в LibreOffice(OpenOffice) нужно изменить единицу измерения через «Сервис- Параметры- LibreOffice Writer- Общие»