Как сделать бакап по ftp на Freebsd.

Тема в разделе "BSD", создана пользователем Neow15ard, 24 окт 2009.

Статус темы:
Закрыта.
  1. Neow15ard

    Neow15ard

    Регистр.:
    27 ноя 2008
    Сообщения:
    422
    Симпатии:
    188
    Есть сервер Freebsd 6.
    Необходимо сделать бэкап по ftp всех папок на удаленном хостинге на этот сервер.
    Проблема в том что скорость соединения ограничена 30-50кб , файлов много(около 50к,30гб), соединение рвется.
    Т.е. в идеале качать будет дней 5-10.
    Чем это можно сделать ?
    (доступ на хостинг ftp & http, скрипты выполняются но в safe mode)/
    Классический клиент начинает создавать список файлов который он по определению(см.выше) не сможет создать...
     
  2. HOSTER

    HOSTER

    Регистр.:
    22 апр 2008
    Сообщения:
    213
    Симпатии:
    38
    Попробуйте написать скриптец с использованием CURL
    если нужно могу показать пример.
     
  3. Neow15ard

    Neow15ard

    Регистр.:
    27 ноя 2008
    Сообщения:
    422
    Симпатии:
    188
    Было бы очень неплохо поиметь пример )).

    общая метода действий :
    заходим (ftp ? curl ? ) на сервер получаем список папок- файлов
    и качаем через ftp с авторизацией ..
    так ?
     
  4. zerdek

    zerdek

    Регистр.:
    29 ноя 2007
    Сообщения:
    346
    Симпатии:
    50
    если получится, то сделайте архив всего или хотя бы по корневым папкам. вот уже архивы и перетягивайте на другой сервер хоть через веб, хоть по фтп.

    из пхп вызовите шелл и в нем создать архив:
    tar cfz archivename.tgz folder1 folder2
     
  5. krendelek007

    krendelek007 Постоялец

    Регистр.:
    26 мар 2008
    Сообщения:
    50
    Симпатии:
    8
    dump + 7zip + curl + cron
    dump - стандартная фишка
    cron - стандартная фишка
    curl - из портов
    7zip - из портов (под именем p7zip)
    Использую скрипт, который использует эту связку для данных целей.
    #! /bin/sh
    DATE=`date +%Y.%m.%d`
    DF="путь_к_папке_с_будущими_дампами"
    echo `date +%Y.%m.%d.at.%H.%M.%S`" Backup is starting"
    dump -0 -L -f - /dev/ad0s1g > $DF/os/usr.${DATE}.img
    ...
    дальше_остальные_папки/разделы

    echo `date +%Y.%m.%d.at.%H.%M.%S`" Copy is starting"
    cp -l $DF/os/usr.${DATE}.img $DF/tmp/usr.${DATE}.img
    ...
    дальше_остальные_папки/разделы

    echo `date +%Y.%m.%d.at.%H.%M.%S`" Create arhive"
    7z a $DF/BackupOS.${DATE}.7z $DF/tmp/ -mmt -mxчисло_от_0_до_9_(степень_сжатия_архива) -pЕсли_надо_запаролить_архив,_то_вписать_сюда_пароль
    echo `date +%Y.%m.%d.at.%H.%M.%S`" Move arhive on ftp"
    curl -T $DF/BackupOS.${DATE}.7z -u Логин_на_ФТП:Пароль_на_ФТП Перейти по ссылкеАдрес_ФТП[/B]/
    echo `date +%Y.%m.%d.at.%H.%M.%S`" Remove files"
    rm $DF/tmp/*
    rm $DF/BackupOS.${DATE}.7z
     
    Neow15ard нравится это.
  6. Neow15ard

    Neow15ard

    Регистр.:
    27 ноя 2008
    Сообщения:
    422
    Симпатии:
    188
    Сделал еще так
    PHP:
    #!/bin/sh
    cd /hd80/backup
    /usr/local/bin/wget --np -"*.zip" ftp://юзер:pass@mysite.net/
    zip -r  mysite.zip mysite.net
    rm 
    -rf mysite.net
    И поставил на недельный крон.
    осталось на самих хостингах автобэкап настроить на sql.
    PS все zip исключены из бэкапа
     
  7. krendelek007

    krendelek007 Постоялец

    Регистр.:
    26 мар 2008
    Сообщения:
    50
    Симпатии:
    8
    Ну собственно тут просто вместо курла используется wget и всё ... или я чего-то недопонял.
     
Статус темы:
Закрыта.