Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: RSync ежедневное копирование на другой HDD кроме одной папки  (Прочитано 2230 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн marlic

  • Автор темы
  • Любитель
  • *
  • Сообщений: 77
    • Просмотр профиля
    • Калина 2
здравствуйте! у меня имеется два жестких диска для файлов по 1 ТВ, на одном будут рабочие файлы ( плюс папка с музыкой,видео), а второй будет его копировать, но копировать нужно только без папки с музыкой, видео.

Знаю, что на Ubuntu легче всего реализовать это через Rsync. но поиски в гугле приводят только к настройке в самом начале установки ОС.
Подскажите, как это реализовать?

ЗЫ новичок. желательно пошаговую инструкцию, надеюсь на вашу помощь


Оффлайн illias

  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
Присоединяюсь к вопросу.
Я прочел материал по вышеуказанной ссылке и пробовал применить exclude, но результата не было.
Ситуация такая.
В /home/illia я создал две папки: test1 и test2. В test1 лежат три папки: fold1, fold2 и fold3:

(Нажмите, чтобы показать/скрыть)

Из test1 я хочу "сбэкапить" папки в test2 (для пробы; в будущем бекап я буду делать на съемный винт) кроме одной папки: fold2.
Согласно инструкции исключения прописываются так: --exclude=PATTERN
Вот варианты кода, которые я перепробовал:

(Нажмите, чтобы показать/скрыть)

На всякий случай привожу "расшифровку" кода:

(Нажмите, чтобы показать/скрыть)

Все копировалось прекрасно. Лишнее удалялось. Но исключение (exclude) не срабатывало. Т.е. папка fold2 как копировалась, так и копируется.
Что я не так делаю? Вроде в синтаксисе кода не ошибся.
« Последнее редактирование: 05 Ноября 2012, 21:21:15 от illias »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
illias, пример:
Код: (bash) [Выделить]
rsync --recursive --links --times --progress \
--exclude "$USER/Видео" \
--exclude "$USER/Загрузки" \
"$HOME" "$DST"

Оффлайн VinnyPooh

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 2577
  • В работе
    • Просмотр профиля
    • Linux для чайников (пых-пых)
rsync -urlogt --delete-before --progress --exclude=/fold2/ /home/illia/test1/ /home/illia/test2

На ночь глядя могу ошибаться :/, ну пробуйте.
« Последнее редактирование: 05 Ноября 2012, 22:47:06 от VinnyPooh »

Оффлайн illias

  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
rsync -urlogt --delete-before --progress --exclude=/fold2/ /home/illia/test1/ /home/illia/test2

На ночь глядя могу ошибаться :/, ну пробуйте.

Спасибо, но не получилось.
А не может ли быть так, что здесь какая-то системная ошибка? Извините, если сказал глупость, просто, думаю, не может же так быть, чтобы коды, которые работают у других (я кучу примеров просмотрел) просто так не заработали у меня.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
illias, обратите внимание на мой пример, взятый из рабочего backup-скрипта.
В исключениях используются относительные пути, т.е. относительно каталога источника.

Оффлайн illias

  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
arcfi.
Я правильно прописал относительный путь для исключения?

rsync --recursive --links --times --progress \
        --exclude "/fold2" \
        "/home/illia/test1/" "/home/illia/test2"

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
illias, верно.

rsync -urlogt --delete-before --progress --exclude=/fold2/ /home/illia/test1/ /home/illia/test2
Кстати, тоже рабочая строка.
« Последнее редактирование: 05 Ноября 2012, 23:53:58 от arcfi »

Оффлайн illias

  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
illias, верно.

rsync -urlogt --delete-before --progress --exclude=/fold2/ /home/illia/test1/ /home/illia/test2
Кстати, тоже рабочая строка.

Вот и странно. Ни
Цитировать
rsync --recursive --links --times --progress \
        --exclude "/fold2" \
        "/home/illia/test1/" "/home/illia/test2"
ни
Цитировать
rsync -urlogt --delete-before --progress --exclude=/fold2/ /home/illia/test1/ /home/illia/test2

не сработали. Значит проблема не в коде, проблема где-то суто у меня.
Что ж, покопаюсь, постараюсь найти, в чем проблема.

arcfi,VinnyPooh, спасибо вам за ответы!

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
illias, вот, в простейшем случае:
Код: (bash) [Выделить]
$ mkdir -p a/{b,c}

$ rsync --dry-run --recursive --progress --exclude=/b/ a/ d
sending incremental file list
created directory d
./
c/

sent 44 bytes  received 19 bytes  126.00 bytes/sec
total size is 0  speedup is 0.00 (DRY RUN)

 

Страница сгенерирована за 0.018 секунд. Запросов: 21.