Linux: создать зеркало каталога, но игнорировать удаления


0

Я хотел бы создать каталог public_html/archive это зеркало public_html/images, Кроме что удаления в images каталог не вызывает соответствующие удаления в archive,

Я собирался управлять всем этим в коде, но потом я решил, что система может справиться с этим для меня надежным способом.

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

Это возможно? Спасибо!


Все ли новые изображения созданы одной программой или скриптом? Если это так, то изменение кода для записи в оба места может оказаться самым простым решением.
coneslayer

Это, наверное, лучшее решение для большинства людей. :) Тем не менее, 1) Мне любопытно, и 2) «Сценарий» - это CMS, поэтому событие «файл сохраняется» немного менее просто и требует проверки всех правильных хуков.
feedbackloop

Ответы:


0

rsnapshot или же унисон может сработать, если вам это не нужно в реальном времени. Решение в реальном времени в конечном итоге будет похоже на sparkleshare - использование inotify для проверки изменений и копирование измененных файлов куда-либо.


Принято за упоминание inotify, что привело меня сюда: superuser.com/questions/46441/rsync-as-a-background-process который упоминает inotify-tools. Спасибо!
feedbackloop

ура за меткий пистолет. Забавно, но это может помочь решить проект, который я готовил сам, который включал бы inotify
Journeyman Geek

0

Используя переключатель xcopy 's / D, вы можете указать только файлы после [дня / времени последнего резервного копирования]. Похоже, вам не нужно так много зеркалировать, как загружать новые файлы в архив.

Для Linux, по тегу, вы можете запустить find для файлов после [день / время последнего резервного копирования], cp их в каталог назначения (с чем-то вроде $ find . \! -cnewer date_marker ). Вы можете копаться в rsync и используйте для этого также тег исключения, который может предоставить вам больше гибкости при работе с каталогами.


Локальный rsync выглядит близко к тому, что я хочу, за исключением того, что я хочу, чтобы синхронизация происходила автоматически без вызова команды. Как только мое приложение создает файл в «изображениях», я хочу, чтобы оно создавало его в «архиве». Как и символическая ссылка, за исключением того, что цель игнорирует удаления в источнике.
feedbackloop

Гектометр Я знаю, что вы можете использовать cron запускать его ежечасно или что-то в этом роде ... но я предполагаю, что вы хотите мгновенно, поэтому вы и сказали зеркальное отражение.
mfg
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.