Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

Are there any linux/unix console applications similar to Yadis that would allow me to:

  • be set up from the console
  • backup multiple directories
  • backup / sync in real time after the files (text files) are changed

Update 1:

I write shell scripts, ruby scripts, aliases etc etc to make my work easier. I want to have backup of these files. The solution I am looking for will copy these files after any change was made to them to a subdirectory of my dropbox directory and that's it. Backup is done and available from anywhere. Always fresh and ready and I dont' have to think about it.

I know I can run cron few times a day but I thought there must be a solution for what I am looking for available on linux. I am not so linux experienced so I asked here.

share|improve this question
    
I've always wanted to know what the deal is vis-à-vis what happens if I'm rsyncing or whatever the case may be and I'm actively using the system too... but I've always been too shy to ask. So thanks for asking for me! –  boehj Jun 23 '11 at 12:15
    
@Gilles: In study for that bounty I've been playing with incron and have had it making instant backups of a few files of mine lately. It's pretty slick actually, but there are some gotchas, and overcoming those could go different directions. Should the emphasis here be on "real time"/"instant" action or on behaving predictably even though it adds delay to effectively de-bounce file operations? –  Caleb Jun 29 '11 at 20:37

2 Answers 2

up vote 2 down vote accepted

You could probably hack this together using inotify and more specifically incron to get notifications of file system events and trigger a backup.

Meanwhile, in order to find a more specific solution you might try to better define your problem.

  • If your problem is backup, it might be good to use a tool that is made to create snapshots of file systems, either through rsnap or a snapshoting file system like xfs or using any file system with lvm.
  • If your problem is sycronizing, perhaps you should look into distributed and/or netowrk file systems.

Edit: In light of your update, I think you are making this way to complicated. Just make a folder in your dropbox for scripts. Then in your bashrc files do something like this:

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

Whatever scripts you have can be run right from the dropbox folder in your home directory, and any aliases and such you want synced can go in a file inside Dropbox that gets sourced by your shell.

If other people besides you need access to the scripts, you could symlink them from your Dropbox to somewhere like /usr/local/bin.

share|improve this answer
    
updated my question –  Radek Jun 23 '11 at 23:02
    
@Radek: Updated my answer. If that's all you're trying to do you can make the whole thing really easy ... just leave the stuff in Dropbox! –  Caleb Jun 24 '11 at 5:57
    
I will try to do it the other way. I will symlink the files to Dropbox. –  Radek Jun 24 '11 at 6:07
    
Your answer helps with my core issue but doesn't answer the topic question. Seems to me that that others are interested too.... –  Radek Jun 24 '11 at 6:09
    
That may be, but the "topic" question was theoretical because it did not really apply to your practical problem. If other people have a more specific practical problems I'm sure we can come up with answers. –  Caleb Jun 24 '11 at 6:15

If you want to keep two replicas of a directory tree on two different filesystems, then ChironFS might be the solution. It's a FUSE-based filesystem, that replicates any changes to its "virtual" filesystem to two other "real" filesystems.

Installation and usage instructions are available here: http://www.furquim.org/chironfs/howto.html

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.