I have two backup directories (dir1 and 2) on two different (local) HDDs and I want to create one of them. How can I really sync their contents so that both directories will have the same contents?
Asked
Active
Viewed 2.8k times
18
-
Do you want to do a one-way sync, or do you need to update the files both ways? – Kusalananda Sep 15 '17 at 20:37
-
1You seem to know one correct command (`rsync`). What have you tried so far? – roaima Sep 15 '17 at 20:57
-
@Kusalananda a one-way sync is enough for now because i want to delete dir1, but a two-way sync would be useful later. – Weylyn Savan Sep 16 '17 at 18:02
-
2@roaima I only tried `rsync -rtvu dir1 dir2/` as mentioned [here](http://www.jveweb.net/en/archives/2010/11/synchronizing-folders-with-rsync.html#jveweb_en_014_05) without `--delete`. Now i see that the problem was the missing '/' from the end of 'dir1'. – Weylyn Savan Sep 16 '17 at 18:02
1 Answers
32
To sync the contents of dir1 to dir2 on the same system, type:
rsync -av --progress --delete dir1/ dir2
-a,--archive
archive mode
--delete
delete extraneous files from dest dirs
-v,--verbose
Verbose mode (increase verbosity)
--progress
show progress during transfer
— from rsync(1)
Note : The / after dir1 is necessary to mean "the contents of dir1".
Without the trailing slash, would place dir1, including the directory, within dir2. This would create a hierarchy that looks like:
…/dir2/dir1/[files]
Hunter.S.Thompson
- 8,839
- 7
- 26
- 41