Sync folders across two remote servers or machines


Recommended Posts

Can someone help me creating a script that will sync the folders between 2 servers such that if we delete any file on either of the machine, the other should reflect the same.

I will be using a cronjob to run the script daily.


rsync -parv user@server1:source/ user@server2:destination/
[/CODE]

The above command will only sync the source folder on server1 to destination folder on server2.

Now on any given day if I delete a huge file from destination folder (as I dont need it anymore) and if the cronjob gets executed, the huge file in source folder will again be copied over to destination.

I need to avoid this. In the above case, the script should delete the huge file from source folder.

I think unison would be helpful here but how to integrate it within a bash script.

Else, how can we do it with rsync itself?

Thanks in advance. .

If I understood you right, you want the --delete option.

http://superuser.com/questions/156664/rsync-delete-options


--del an alias for --delete-during
--delete delete extraneous files from dest dirs
--delete-before receiver deletes before transfer (default)
--delete-during receiver deletes during xfer, not before
--delete-delay find deletions during, delete after
--delete-after receiver deletes after transfer, not before
--delete-excluded also delete excluded files from dest dirs
[/CODE]

If I understood you right, you want the --delete option.

http://superuser.com...-delete-options


--del an alias for --delete-during
--delete delete extraneous files from dest dirs
--delete-before receiver deletes before transfer (default)
--delete-during receiver deletes during xfer, not before
--delete-delay find deletions during, delete after
--delete-after receiver deletes after transfer, not before
--delete-excluded also delete excluded files from dest dirs
[/CODE]

That was nice. . .

the suitable option seems to be --delete >>>> [font=Consolas, Menlo, Monaco,]Deletes files in the destination directory if they don't exist in the source directory. So the 1st half of the problem is solved.[/font]

But what if I want to delete a file in the source directory if it does not exists in the destination directory?

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

  • Recent Achievements

    • Reacting Well
      BizSAR earned a badge
      Reacting Well
    • First Post
      AndreaB earned a badge
      First Post
    • Week One Done
      Huge Trailer earned a badge
      Week One Done
    • Week One Done
      Classifyskilleducation earned a badge
      Week One Done
    • One Month Later
      eurospharma62 earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      579
    2. 2
      +Edouard
      184
    3. 3
      PsYcHoKiLLa
      75
    4. 4
      Michael Scrip
      73
    5. 5
      neufuse
      64
  • Tell a friend

    Love Neowin? Tell a friend!