Бэкап с Windows на Linux при помощи smbtar
Постановка задачи
Есть сервер под Windows, необходимо наладить регулярное резервное копирование базы 1С (файловая база) на другую машину. При этом второй сервер в компании работает под Linux, и там очень много свободного места.
Для решения задачи используем команду smbtar из пакета samba.
Решение
Расшариваем папку, которую надо бэкапить, cоздаем на линуксовом сервере скрипт bkp-1c
:
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/bin/bash bkpdate=`date +%Y-%m-%d_%H:%M` echo "------------- "$bkpdate" ---------------" >> bkp-1c.log /usr/local/bin/smbtar -v -u "ONEC-TERM\BKP-OPERATOR" -p <password> -s 192.168.0.4 -x 1C_bases -t 1c_bases_$bkpdate.tar >>./bkp-1c.log 2>&1 echo "------------- " `date +%Y-%m-%d_%H:%M` "copy done.. copressing" >> bkp-1c.log gzip *.tar echo "------------- " `date +%Y-%m-%d_%H:%M` "all done!" >> bkp-1c.log echo "" >> bkp-1c.log |
Добавляем вызов скрипта в cron (в данном случае ежедневно в 22-00):
0 22 * * * cd /mnt/data_hlam/1CBKP; /mnt/data_hlam/1CBKP/bkp-1c-v01
Недостатки решения:
Важно, что бы на сервере не были открыты файлы. для этого можно сделать таймаут сессии в настройках RDP на сервере.