Организация архивов файлов

Призываю в тред мастеров организации архивов! :)

Дано: Есть папка с файлами, на 99% excel, ppt, docx, jpg. Внутри много папок, файлов (порядка 20-25 тыс). Всего 11-15 Гб. Файлы в основном добавляются, старые файлы почти не меняются. Каждый месяц создаётся полный бекап данной папки, сохраняется на отдельный диск. Получается 12 полных бэкапов за год, пару лет уже накопилось.

Что нужно: сделать некую мастер-копию за год. Т.е. берём архив за декабрь и сливаем её с копиями за разные месяцы. Те файлы которые не менялись, не перезаписываются. Те файлы, которые различаются копируются в ту же папку но к имени файла добавляем дату файла. Удалённые файлы, которых нет в мастер-копии, также копируются, но с пометкой _deleted в названии файла.

Затем данную мастер-копию закидываем в облако и открываем доступ на чтение. Важно чтобы файлы были не архивированные, сразу рабочие. 12 папок архивов неудобны тем, что когда ищешь когда именно изменился какой-либо файл, приходится в каждой месячной копии проходить по вложенным папкам весь путь с непонятным результатом. Собственно поэтому и появилась идея мастер-копии, хотя бы по году. Ну и плюс экономия места на диске - вместо 120 Гб, 13-14Гб на год.
Вопрос: какие существуют программы, механики хранений архивов, для похожего результата?

Также есть идея написать Bash-скрипт, не особо сложно должно быть, но наверняка есть какие-то готовые и более функциональные решения.

Подскажите, пожалуйста, а как вы организуете архивы? Даже если у вас какая-то другая система, тоже будет интересно, может быть почерпну что-то новое!
Nebulosa
Всего 11-15 Гб.
ну я сейчас юзаю btrfs, которая лучшим образом тебе подойдет, да и многим подойдет, при условии что не менее 50% всегда свобдно!!!
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
а если точнее, то нужно знать вес изменений за год, + столько же на всякий случай...
и это идеал!!!!
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Nebulosa
Файлы в основном добавляются, старые файлы почти не меняются. Каждый месяц создаётся полный бекап данной папки, сохраняется на отдельный диск. Получается 12 полных бэкапов за год, пару лет уже накопилось.
Вообще не понимаю смысл всего этого - зачем нужно 12 backup??? - чего то видимо до меня не доходит.
У меня база даже больше - в одной только директории ArchLinux ~/Документы около 40тыс файлов и 4тыс директорий ... это не считая других постоянных (не изменных) документов, расположенных на другом разделе.
Периодически делаю rsync на другой раздел
rsync -av -P ~/Документы --delete /run/media/vasek/Date_ArchLinux/Backup
Делается очень быстро, зато имеется полная актуальная копия этой директории.
Главная проблема в поиске нужного документа/темы в этой базе, которые понадобяться - приходится использовать разные утилиты.
Ошибки не исчезают с опытом - они просто умнеют
Основная идея и примеры скриптов, ее реализующих, для организации инкрементальных бекапов здесь.
Там же можно найти ссылки на готовые реализации бекапов.
vasek
зачем нужно 12 backup
Ну для всякого. Посмотреть как оно было там год назад))
Ну для не меняющихся постоянно данных, наверно дело бесполезное...

Nebulosa
Т.е. берём архив за декабрь и сливаем её с копиями за разные месяцы.
т.е. берём разархивируем все архивы в одну папку при этом указываем сохранять копии.
про удалённые файлы непонятно, это же бэкап он как бы и сделан чтобы не было таких файлов))
Ошибки в тексте-неповторимый стиль автора©
nafanja
ну я сейчас юзаю btrfs, которая лучшим образом тебе подойдет, да и многим подойдет, при условии что не менее 50% всегда свобдно!!!
С удовольствием, только данный "живой" бекап будет выложен в облако, и там уже нет власти какая FS используется. С данными файлами работает 7-10 человек.

vasek
Вообще не понимаю смысл всего этого - зачем нужно 12 backup??? - чего то видимо до меня не доходит.
Самый простой вариант - берём и копируем всю папку, благо 10-12 ГБ всего. Проблема поиска нужного файла (и нужно версии файла) проявилась когда таких бекапов стало 50 %)

vasek
У меня база даже больше - в одной только директории ArchLinux ~/Документы около 40тыс файлов и 4тыс директорий … это не считая других постоянных (не изменных) документов, расположенных на другом разделе.
Периодически делаю rsync на другой раздел
rsync -av -P ~/Документы --delete /run/media/vasek/Date_ArchLinux/Backup
Делается очень быстро, зато имеется полная актуальная копия этой директории.
У меня rsync недавно сообщил о 520 тыс. файлов в бекапе %)
Проблема не получить бекап актуальной папки, а посмотреть как файл выглядел месяц или два назад. Или его восстановить, в случае если кто-то его удалил случайно.

vasek
Главная проблема в поиске нужного документа/темы в этой базе, которые понадобяться - приходится использовать разные утилиты.
Ну вот эту проблему и хочу решить. Структура вложенных папок не меняется, скажем наступает новый месяц - создаётся подпапка 04_Апрель и уже её наполняем текущими файлами. Т.е. ты изначально знаешь где должен находиться файл, в какой из подпапок, но тебе иногда нужно посмотреть как он менялся в течении года, по срезу за месяц.
kurych
Основная идея и примеры скриптов, ее реализующих, для организации инкрементальных бекапов здесь.
Там же можно найти ссылки на готовые реализации бекапов.
Спасибо, посмотрю обязательно! Но насколько я понимаю, инкрементальные бекапы, хранятся в своём внутреннем формате (и архивах) и если ты не знаешь когда именно файл был изменен ты не сможешь быстро получить доступ к файлу напрямую.
indeviral
Ну для всякого. Посмотреть как оно было там год назад))
Ну для не меняющихся постоянно данных, наверно дело бесполезное…
Да, здесь смысл не в том, чтобы хранить базу пакетов программ/фильмов которые практически никогда не изменяются, а нужна версионность файлов, хотя бы помесячно.

indeviral
т.е. берём разархивируем все архивы в одну папку при этом указываем сохранять копии.
про удалённые файлы непонятно, это же бэкап он как бы и сделан чтобы не было таких файлов))
Именно! Никогда не делал эту задачу раньше, подскажите какой программой или командой это делать? Всё что раньше пользовал - если версии файлов различаются - две опции - перезаписать поверх и ничего не переносить. Нужна опция сохранить копию старого файла рядом с текущей версией.

Удаленные файлы - это задача со звёздочкой, но точно поможет если кто-то в январе удалил папку, а узнал ты об этом только через полгода, поэтому в идеале такие файлы тоже перенести в мастер-копию, он же - бекап за Декабрь.
Задача не сложная, для себя сделал бы. делаешь перечисление файлов в источнике с относительными путями, далее проверяешь каждый файл, существует ли он в папке назначения, и если да, то копирование происходит с прибавлением даты в имя, а если файла не существует, то копирование как есть. Задача слишком проста. Ранее я писал уже программу синхронизации для Windows, но по своему, под свои задачи, синхронизация сборников программ, там не подразумевается копия и добавление с датой, там выбираешь критерии дата, размер, путь и их комбинации.
мои программы
Nebulosa
Никогда не делал эту задачу раньше,
да это вообще не задача, достаточно флага -b у cp и всё, там пару опции для сохранения копий читайте man cp.

Nebulosa
Удаленные файлы - это задача со звёздочкой, но точно поможет если кто-то в январе удалил папку, а узнал ты об этом только через полгода, поэтому в идеале такие файлы тоже перенести в мастер-копию, он же - бекап за Декабрь.
у вас есть архивы/директории со всеми файлами при копировании одной в другую, у вас останется одна в которой будут все файлы, некоторые с пометкой изменен... я не знаю как до вас донести просто поверьте на слово, что метка удалён внутри бэкапа противоречит здравому смыслу))
Ошибки в тексте-неповторимый стиль автора©
Git?
 
Зарегистрироваться или войдите чтобы оставить сообщение.