Настроить бекап файлов

Discussion in 'Linux, Freebsd, *nix' started by DonaldDuck, 9 May 2013.

  1. DonaldDuck

    DonaldDuck New Member

    Joined:
    29 Apr 2012
    Messages:
    110
    Likes Received:
    3
    Reputations:
    1
    Есть насколько компов в разных частях города, разные провайдеры.
    Надо организовать samba доступ к общим документам.
    Приобрёл VPS (centos), настроил oprnvpn, поставил smb-сервер.
    Все рады.
    Но мне, как админу, требуется ежедневно бекапить файлы (инкрементальный бекап).
    Вижу 2 варианта:
    1. Бекап на сторонний сервер (которого нет), есть хостинг с ФТП.
    2. Бекап на Вин машину из VPN.
    Мне по душе 2 путь. Так как эта машина у меня дома, ресурсы позволяют.
    Какой вариант выбрать? Как реализовать?
     
  2. Gelo

    Gelo New Member

    Joined:
    4 May 2013
    Messages:
    42
    Likes Received:
    2
    Reputations:
    1
    man rsync
     
    1 person likes this.
  3. DonaldDuck

    DonaldDuck New Member

    Joined:
    29 Apr 2012
    Messages:
    110
    Likes Received:
    3
    Reputations:
    1
    Спасибо большое!

    Разобрался, как бекапить 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

    Вопрос в следующем. Комп, куда кладётся бекап, не всегда онлайн.
    Как сделать, чтобы бекап выполнялся при включении компа в ВПН или в определенное время (с проверкой на офф\онлайн компа-хранителя бекапов)? Куда копать?

    Уже хочу спать, но может пинговать раз в полчаса\час? Как эту проверку запихать в скрипт?

    Сорри за банальные вопросы, с *никс на "ты".
     
  4. Gelo

    Gelo New Member

    Joined:
    4 May 2013
    Messages:
    42
    Likes Received:
    2
    Reputations:
    1
    в init или по cron'y
     
  5. DonaldDuck

    DonaldDuck New Member

    Joined:
    29 Apr 2012
    Messages:
    110
    Likes Received:
    3
    Reputations:
    1
    Вот пока так получается:
    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 бекап вечером. Мб циклить, пока комп не вылезет онлайн...Завтра.
     
  6. taha

    taha Elder - Старейшина

    Joined:
    20 Aug 2006
    Messages:
    399
    Likes Received:
    330
    Reputations:
    251
    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
     
  7. tester_new

    tester_new Elder - Старейшина

    Joined:
    12 Feb 2012
    Messages:
    300
    Likes Received:
    45
    Reputations:
    24
    Можно просто сливать бекапы на мыло, или к себе на хостиг(если есть).
     
  8. Gelo

    Gelo New Member

    Joined:
    4 May 2013
    Messages:
    42
    Likes Received:
    2
    Reputations:
    1
    ахаха. забекапь мне терабайт на мыло или на хотсинг
     
  9. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    gmail.com:
    На сегодняшний день не мало даже фрихостингов которые дадут тебе место, тот же дропбокс дает 50гиг.
     
  10. Gelo

    Gelo New Member

    Joined:
    4 May 2013
    Messages:
    42
    Likes Received:
    2
    Reputations:
    1
    ждать надоест пока тот же дроп бокс схавает эти 50 гиг. и не надо забывать про скрость
     
  11. C6H5CH3

    C6H5CH3 Member

    Joined:
    12 Dec 2008
    Messages:
    40
    Likes Received:
    9
    Reputations:
    1
    Если нужен грамотный инкрементный бэкап, то лучшее, что реально работает на основе рсинка это дуплисити.

    Прост до безобразия и надежен.
    Вот правда на виндовых машинах под кигвин пока не запустил, там гимора много, но люди поднимают и там...
     
  12. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    На днях для себя сделал бэкап через гугл-апи в гугл-диск, бесплатно и быстро.
    https://developers.google.com/