Menyalin file hanya ketika lebih baru dari tujuan


35

Bagaimana cara menyalin file di Linux hanya ketika file yang disalin lebih baru daripada versi di tujuan?

Jika file di tujuan lebih baru, saya ingin salinan file tidak dilanjutkan.

Jawaban:



16

Gunakan rsync

rsync --progress -r -u /from/one/* /to/another/directory

3
Hanya untuk kelengkapan: -rberarti operasi rekursif ke dalam subdirektori dan -umenyimpan file yang lebih baru di tempat tujuan (= memperbarui). --progressmenunjukkan informasi kemajuan selama operasi.
Jörg Gottschlich

4

Anda tidak mengatakan shell apa yang Anda gunakan, jadi saya akan berasumsi ksh:

if [[ file1 -nt file2 ]]; then cp file1 file2; fi

Bukankah bash paling umum?
Rob

@Rob, ya. Ini bekerja di bash juga, jelas. Saya hanya tidak memiliki bash (atau kotak Linux standar) di tangan ketika saya menulisnya.
Kusalananda

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.