резервное копирование в режиме реального времени, если файл изменился?


9

Существуют ли консольные приложения linux / unix, подобные Yadis , которые позволили бы мне:

  • настраиваться с консоли
  • резервное копирование нескольких каталогов
  • резервное копирование / синхронизация в режиме реального времени после изменения файлов (текстовых файлов)

Обновление 1:

Я пишу сценарии оболочки, сценарии ruby, псевдонимы и т. Д., Чтобы облегчить мою работу. Я хочу иметь резервную копию этих файлов. Решение, которое я ищу, скопирует эти файлы после внесения в них любых изменений в подкаталог моего каталога dropbox и все. Резервное копирование сделано и доступно из любого места. Всегда свежо и готово, и мне не нужно об этом думать.

Я знаю, что могу запускать cron несколько раз в день, но я подумал, что должно быть решение для того, что я ищу, доступное в Linux. Я не такой опытный Linux, поэтому я спросил здесь.


Я всегда хотел знать, в чем заключается суть сделки в том, что произойдет, если я перезапущу или что-то подобное, и я тоже активно использую систему ... но я всегда стеснялся спросить. Так что спасибо, что спросили меня!
— Boehj

@Gilles: В процессе изучения этой награды, с которой я играл incronи получал мгновенные резервные копии нескольких моих файлов в последнее время. Это на самом деле довольно гладко, но есть некоторые ошибки, и преодоление их может пойти в разных направлениях. Должен ли акцент здесь быть на «реальном времени» / «мгновенном» действии или на предсказуемом поведении, даже если это добавляет задержку для эффективного удаления файловых операций?
— Калеб

Ответы:


3

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

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

  • Если ваша проблема заключается в резервном копировании, может быть целесообразно использовать инструмент, созданный для создания моментальных снимков файловых систем, либо через rsnapфайловую систему моментального снимка, например, xfsлибо используя любую файловую систему с lvm.
  • Если ваша проблема заключается в sycronizing, возможно, вам следует изучить распределенные и / или netowrk файловые системы.

Изменить : В свете вашего обновления, я думаю, что вы делаете этот путь сложным. Просто сделайте папку в вашем дропбоксе для скриптов. Затем в ваших файлах bashrc сделайте что-то вроде этого:

export PATH=$PATH:~/Dropbox/bin
source ~/Dropbox/bashrc

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

Если другие пользователи, кроме вас, нуждаются в доступе к сценариям, вы можете поместить их в свой Dropbox по ссылке / usr / local / bin.


обновил мой вопрос
— Радек

@Radek: обновил мой ответ. Если это все, что вы пытаетесь сделать, вы можете сделать все это очень просто ... просто оставьте все в Dropbox!
— Калеб

Я постараюсь сделать это по-другому. Я буду ссылаться на файлы в Dropbox.
— Радек

Ваш ответ помогает с моей основной проблемой, но не отвечает на topicвопрос. Мне кажется, что этим тоже интересуются другие ...
— Радек

Это может быть, но «тематический» вопрос был теоретическим, потому что он на самом деле не относился к вашей практической проблеме. Если у других людей есть более конкретные практические проблемы, я уверен, что мы можем придумать ответы.
— Калеб

4

Если вы хотите хранить две копии дерева каталогов в двух разных файловых системах, то ChironFS может быть решением. Это файловая система на основе FUSE , которая реплицирует любые изменения в своей «виртуальной» файловой системе на две другие «настоящие» файловые системы.

Инструкции по установке и использованию доступны здесь: http://www.furquim.org/chironfs/howto.html

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