Pertanyaan: Baru-baru ini saya harus menyalin sejumlah besar file yang menempati ruang penyimpanan sebesar 7 TB ke lokasi lain di kotak CentOS saya. Saya menggunakan perintah 'cp', tetapi untuk beberapa alasan (mungkin masalah jaringan), perintah keluar setelah menyalin beberapa file dan direktori. Sekarang jika saya melanjutkan operasi penyalinan, perintah mulai dari awal lagi menyalin file yang telah disalin (yang lagi-lagi membutuhkan banyak waktu dan cpu). Jadi pertanyaan saya adalah, bisakah saya memberi tahu 'cp ' perintah untuk mengabaikan file dan direktori yang telah disalin (agar saya dapat menghemat waktu dan cpu). Ada saran?
Jawaban: Anda dapat menggunakan 'cp ' perintah atau 'rsync ' untuk menyalin file.
Solution1:Pertama kita akan melihat perintah CP:
cp -u --force <src> <dst>
Di sini –u opsi menyalin file hanya jika file SOURCE lebih baru dari file tujuan atau jika file tujuan tidak ada.
Catatan :Jika perintah di atas meminta seperti di bawah ini:
cp : overwrite '<filename>'
Kemudian, 'cp ' perintah akan menjadi alias dengan mode interaktif! Untuk menemukan alias 'cp', ketik perintah di bawah ini:
# type cp
cp is aliased to `cp -i'
Karena interaktif, ia diminta untuk memberikan masukan pengguna meskipun Anda telah menentukan –force pilihan. Untuk menghindari hal di atas dan melakukan penyalinan non-interaktif, gunakan jalur absolut dari perintah cp seperti yang ditunjukkan di bawah ini:
/usr/bin/cp -u --force <src> <dst>
Solusi 2:Menggunakan perintah rsync:
# rsync -av --ignore-existing<src> <dst>
Catatan :rsync akan membuat daftar file di awal. Jika sumber Anda memiliki no besar. file, lalu rsync membutuhkan waktu berjam-jam untuk membuat daftar file yang begitu besar! dan Anda mungkin berpikir prosesnya telah macet, alih-alih tambahkan -p opsi dan Anda akan melihat bilah kemajuan dan Anda benar-benar tidak perlu berpikir rsync sedang hang!