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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: rsync - помогите разобраться ...очень много файлов заливаю в бэкап  (Прочитано 167391 раз)

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

Оффлайн nikpos

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Привет ! помогите разобраться с rsync

есть задача белать ежедневное копирование проектов в бэкап.
без архивации просто перенос важных директорий с содержимым и игнором неважных директорий
как мне показалось rsync годится для этого как нельзя лучше.
но проблема в том что объем данных в источнике несколько терабайт. есть мелкие файлы и есть по нескольку гигов .
кроме этого я ранне уже делал этот же бэкап просто командой cp с игнором файлов совпадающих по дате и размеру
то есть в юэкапе уже есть копия всех файлов из источника

для начала я запустил rsync вот так

rsync -av /path/to/src /path/to/backup --exclude-from "filters.txt"
он начал создавать список файлов
в итоге после несколько часов работы я его прервал и запустил снова....
далее он продолжил с того файла на котором я его прервал (допустим это файл /path/to/src/data/derevo_05.bmp)
я подумал что это круто - так и должно работать. возможно rsync где-то "запоминает" все файлы которые обработал

НО !
после того как он проработал два дня. я опять его прервал ...
затем выполнил другую команду типа ls
потом опять запустил rsync с теми же параметрами что и до этого.
в итоге к моему удивлению он не продолжил с того файла до которого добрался за два дня,
а с того на котором я прервал его в первый раз, то есть с /path/to/src/data/derevo_05.bmp
то есть и не сначала и не с того места где прервали последний раз

скорей всего я что-то не так делаю.
дело в том что учитывая объем данных на этот анализи копирование изменений у rsync будет уходить несколько дней на каждый запуск ????
а задача состоит в том что бы проверять исходник и заливать в юэкап только файлы, которые изменились в течении рабочего дня.

ранее простая команда cp справлялась с этим отлично (запускалась через cron по ночам )
использовать rsync захотел из-за широких возможностей команды в частности гибкой системы фильтров игнора

но вот что-то не могу разобраться в том как rsync работает....
помогите пжлст

как происходит анализ файлов которые надо копировать ?
я так понимаю он проверяет контрольные суммы фрагментов,
но если эта процедура занимает так много времени как можно организовать резервное копирование множества файлов общий размер которых террабайты но копировать нужно разумеется не все а только обновленные

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7652
  • We do what we must
    • Просмотр профиля
я его прервал и запустил снова....
далее он продолжил с того файла на котором я его прервал
через ctrl-z, fg(bg)  - да, продолжит. Через сtrl-c - начнет заново.
А вообще вам нужен ключик -u
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн nikpos

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
u это апдэйт ... насколько я понимаю если в приемнике файл более новый, то его пропустит - но это не совсем мой случай, поскольку там не может быть файлов новее чем в источнике...

ну и даже с "-u" этот "sending increment file list" все так же сканирует от начала и в моем случае это опять будет занимать дни....

но, повторюсь, мне необходимо запускать эту процедуру раз в сутки. и я ожидаю от этой команды более оперативной работы... то есть за пару часов проверить те файлы, которые изменились и их залить в бэкап.

еще я предполагал что , возможно первые итерации могут занять несколько суток но это ок если rsync не будет начинать всякий раз эту индексацию (или что там) с начала

я предполагал что процедура будет примерно такая:
1) стартанул в 3 часа ночи и потом в 7 утра отключился. что успел слить - слил
2) на следующую ночь опять стартанул в 3 часа и продолжил доливать то что не долил в предыдущий запуск.
3) итак за несколько суток он зальет все 5 терабайт которые занимает папка проектов.
4) затем, стартуя каждую ночь в определенное время он просто будет доливать новые/измененные файлы и это уже не будет занимать у него столько времени как при первой итерации

таким образом работает команда cp  в моем случае...но вот с rsync есть вопросы.
хотелось бы все это делать через rsync потому что, как и писал выше, нужен гибкий механизм выборочного копирования



 

 

Оффлайн Usermaster

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 3238
    • Просмотр профиля
Так?
rsync -rvzhut --delete
-r - рекурсивно
-v - подробная информаяия
-z - сжимать перед передачей
-h - выводить в человеко читаемом виде
-u - не копировать файлы такие же или более старые
-t - сохранять время модификации файлов
--delete - удалять файлы отсутствующие в источнике

Скриптом копировать, -v и -h не надо.
« Последнее редактирование: 17 Июля 2023, 14:50:25 от Usermaster »
А чего это вы тут делаете, а?

Оффлайн nikpos

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
опция -a включает в себя r и t плюс еще ряд опций которые сохраняют владельца, права доступа и тд
z опция мне не нужна....
что касается u , то как я писал выше , это не особо ускоряет процесс и в моем случае не имеет смысла вообще



Пользователь добавил сообщение 17 Июля 2023, 18:16:27:
вот нашел по поводу -u

"If an existing destination file has a modification time equal to the source file's, it will be updated if the sizes are different."

то есть в моем случае подходит. он все таки пропустит файл если время модификации и размер совпадают
« Последнее редактирование: 17 Июля 2023, 18:55:57 от nikpos »

 

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