Есть насколько компов в разных частях города, разные провайдеры. Надо организовать samba доступ к общим документам. Приобрёл VPS (centos), настроил oprnvpn, поставил smb-сервер. Все рады. Но мне, как админу, требуется ежедневно бекапить файлы (инкрементальный бекап). Вижу 2 варианта: 1. Бекап на сторонний сервер (которого нет), есть хостинг с ФТП. 2. Бекап на Вин машину из VPN. Мне по душе 2 путь. Так как эта машина у меня дома, ресурсы позволяют. Какой вариант выбрать? Как реализовать?
Спасибо большое! Разобрался, как бекапить rsync'ом. Делаю так: 1. mount -t cifs //10.10.0.4/share /mnt/win -o username=root,password=root,rw 2. rsync --progress -av --delete /home/share /mnt/win/share 3. umount /mnt/win Вопрос в следующем. Комп, куда кладётся бекап, не всегда онлайн. Как сделать, чтобы бекап выполнялся при включении компа в ВПН или в определенное время (с проверкой на офф\онлайн компа-хранителя бекапов)? Куда копать? Уже хочу спать, но может пинговать раз в полчаса\час? Как эту проверку запихать в скрипт? Сорри за банальные вопросы, с *никс на "ты".
Вот пока так получается: Code: #!/bin/bash i=`ping 10.10.0.3 -c 1 | grep -o 'icmp'`; if [ "$i" = 'icmp' ] then echo 'Backup Storage is online. Backuping...'; echo 'Mounting SMBFS'; mount -t cifs //10.10.0.3/backup /mnt/win -o username=root,password=root,rw; echo 'Backuping'; rsync --progress --stats -bqavO --delete /home/share/ /mnt/win/`date +%F--%H-%M`; echo 'Unmounting SMBFS'; umount /mnt/win; else echo 'Backup storage is offline. Shutting down...'; fi Кривовато, конечно (/mnt/win/`date +%F--%H-%M`). Надо почитать про инкрементальные бекапы. Также требуется как-то контролировать, был уже бекап сегодня или нет. Выполнять только 1 бекап вечером. Мб циклить, пока комп не вылезет онлайн...Завтра.
1. Code: i=`ping 10.10.0.3 -c 1 | grep -o 'icmp'`; if [ "$i" = 'icmp' ] then я бы заменил на Code: if ping -c1 -s1 -W1 192.168.0.1 > /dev/null; then echo -e 'Backup Storage is online. Backuping...\nMounting SMBFS' 2. Зачем бэкапы скидывать на виндовый хост?? а) нихуя не на всех системах работает на запись в шару.. иногда нужно указывать сюда iocharset,uid,gid,mask б) если вдруг... каким то случайным образом... какой-нибудь файл или каталог будет открыт в винде, то umount может не сработать и всё вообще станет сложно и придется сидеть и выискивать, ктоже... поэтому я бы делал сервер бэкапов на unix-системе 3. Чтоб запустить скрипт в кокой-то промежуток времени необходимо использовать демон cron.. Так же можно совмещать с at, чтоб запустить через сколько-то, допустим если удалённый хост в данный момент не доступен, то отложить операцию на час и тд. 4. Я бы рекомендовал, не выкидывать отладочную информацию на экран, а перенаправлять её в /var/log/backup.log. Настроить logrotateи демон rsyslog, для нормальной ротации и тп. Логи лучше отправлять на другую машинку, ну хотя бы ERR и WARN 5. Можно использовать готовые системы резервного копирования.. из wiki
gmail.com: На сегодняшний день не мало даже фрихостингов которые дадут тебе место, тот же дропбокс дает 50гиг.
Если нужен грамотный инкрементный бэкап, то лучшее, что реально работает на основе рсинка это дуплисити. Прост до безобразия и надежен. Вот правда на виндовых машинах под кигвин пока не запустил, там гимора много, но люди поднимают и там...
На днях для себя сделал бэкап через гугл-апи в гугл-диск, бесплатно и быстро. https://developers.google.com/