Холодная резервная копия для параноика. Rsync + SMB
1. Делаем пароль для пользователя под которым будет подключаемся шифрованным и полученный пароль вводим ниже:
smbutil crypt password_user
2. Делаем файл /root/.nsmbrc:
[default]
workgroup=TEST
#Указываем имя и ip сервер с windows share
[SERVER]
addr=10.0.0.1
#Указываем пользователя. ВАЖНО все БОЛЬШИМИ буквами.
[SERVER:USER]
#Перед паролем указываем $$1 и добавляем полученный ранее.
password=$$14sdf$%Fdg6$SDGs
3. Создаем сам скрипт /opt/backup.sh, который будет подключать windows share и запускать Rsync для синхронизации данных, если были изменения:
mount_smbfs -N //user@SERVER/backup/ /mnt/SERVER/backup/
rsync -arzP --delete --ignore-existing /mnt/SERVER/backup/dayly/
/mnt/HDD1/Backup/Dayly
4. Добавляем скрипт в cron и все.
И не все. Как оказалось есть маленькие проблемы при копировании файлов "file was vanished" и отображением имени файла в виде ?????????????????? или обрыва имени файла на знаке ?
И так. Что же делать.
1. Все таки проверим locale. В моем случае все должно выглядит вот так
Если же нет, командой setenv LC_ALL ru_RU.UTF-8 применяем нужные нам параметры.
Далее прописываем следующие параметры в файл nano /etc/login.conf
И теперь самое главное, перемонтируем шару с нужной нам кодировкой
Если вы спросите а как же параметр --iconv=utf-8,windows-1251 в rsync? - Мне он лично не помог.
Полезные материалы:
Как подключить Share в FreeBSD
https://www.lissyara.su/articles/freebsd/file_system/mount_smbfs/
https://www.cyberciti.biz/faq/mounting-a-nas-with-freebsd-mount_smbfs/
Mount smbfs монтирование из скрипта
https://digitaldark.wordpress.com/tag/syserr-authentication-error/
https://www.freebsd.org/cgi/man.cgi?query=mount_smbfs&apropos=0&sektion=0&manpath=FreeBSD+8.2-RELEASE&arch=default&format=html
Как использовать Rsync
http://optics.ph.unimelb.edu.au/help/rsync/rsync_pc1.html
http://everythinglinux.org/rsync/
https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps
smbutil crypt password_user
2. Делаем файл /root/.nsmbrc:
[default]
workgroup=TEST
#Указываем имя и ip сервер с windows share
[SERVER]
addr=10.0.0.1
#Указываем пользователя. ВАЖНО все БОЛЬШИМИ буквами.
[SERVER:USER]
#Перед паролем указываем $$1 и добавляем полученный ранее.
password=$$14sdf$%Fdg6$SDGs
mount_smbfs -N //user@SERVER/backup/ /mnt/SERVER/backup/
rsync -arzP --delete --ignore-existing /mnt/SERVER/backup/dayly/
/mnt/HDD1/Backup/Dayly
4. Добавляем скрипт в cron и все.
И не все. Как оказалось есть маленькие проблемы при копировании файлов "file was vanished" и отображением имени файла в виде ?????????????????? или обрыва имени файла на знаке ?
И так. Что же делать.
1. Все таки проверим locale. В моем случае все должно выглядит вот так
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_ALL=ru_RU.UTF-8
Если же нет, командой setenv LC_ALL ru_RU.UTF-8 применяем нужные нам параметры.
Далее прописываем следующие параметры в файл nano /etc/login.conf
mount -uw /
nano /etc/login.conf
в конец секции [defoult] добавляем
:charset=UTF-8:\
:lang=ru_RU.UTF-8:
:lang=ru_RU.UTF-8:
cap_mkdb /etc/login.conf
cp /etc/login.conf.db /conf/base/etc
cp /etc/login.conf /conf/base/etc
cp /etc/login.conf.db /conf/base/etc
cp /etc/login.conf /conf/base/etc
mount_smbfs -E utf-8:cp866 -N //user@SERVER/backup/ /mnt/SERVER/backup/ например вот так.
Если вы спросите а как же параметр --iconv=utf-8,windows-1251 в rsync? - Мне он лично не помог.
Полезные материалы:
Как подключить Share в FreeBSD
https://www.lissyara.su/articles/freebsd/file_system/mount_smbfs/
https://www.cyberciti.biz/faq/mounting-a-nas-with-freebsd-mount_smbfs/
Mount smbfs монтирование из скрипта
https://digitaldark.wordpress.com/tag/syserr-authentication-error/
https://www.freebsd.org/cgi/man.cgi?query=mount_smbfs&apropos=0&sektion=0&manpath=FreeBSD+8.2-RELEASE&arch=default&format=html
Как использовать Rsync
http://optics.ph.unimelb.edu.au/help/rsync/rsync_pc1.html
http://everythinglinux.org/rsync/
https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps
Комментарии