Saya memiliki folder yang berisi file untuk situs web statis seperti:
/site/index.html
/site/css/css.css
/site/js/js.js
/site/images/...
Jika saya memperbarui sesuatu di laptop saya, saya ingin satu perintah untuk mengirim file ke server ubuntu saya. Saya tidak ingin men-setup FTP jika saya tidak punya, bertanya-tanya apakah scp akan dapat menangani ini?
tar
melaluissh
: unix.stackexchange.com/a/10028/79839Jawaban:
Perintah
scp -r source user@target:dest
akan menjalankan semua subdirektori dari sumber dan menyalinnya.Namun,
scp
berperilaku seperticp
dan selalu menyalin file, bahkan jika itu sama pada sumber dan tujuan. [Lihat di sini untuk solusinya.]Karena ini adalah situs web statis, kemungkinan besar Anda hanya membuat pembaruan, bukan menciptakan kembali semuanya, jadi Anda mungkin akan menemukan banyak hal bergerak lebih cepat jika Anda menggunakan
rsync
lebih dari ssh alih-alihscp
. Mungkin kira-kira seperti itu...untuk memulai. Jika Anda melakukan ini di LAN, saya pribadi akan menggunakan opsi
-avW
untukrsync
.Rsync juga memberi Anda kemampuan untuk menduplikasi penghapusan di sumber Anda; jadi jika Anda menghapus file dari pohon Anda, Anda dapat menjalankan
rsync
seperti di atas, dan termasuk bendera--delete
dan itu akan menghapus file yang sama dari sisi tujuan.sumber
scp memiliki flag rekursif yang akan melakukan apa yang Anda inginkan.
scp -r /base/directory user@server:/to/location
dari
man scp
sumber
scp -r dan rsync -r adalah cara yang paling dapat diandalkan untuk mendapatkan apa yang Anda inginkan, seperti yang dicatat orang lain.
Anda juga dapat menggunakan sshfs untuk 'me-mount' seolah-olah itu adalah drive lokal:
sshfs user@host:/site /mnt/mountpoint
(Namun Anda mungkin lebih baik bekerja secara lokal dan menggunakan rsync. Hanya alat lain yang perlu diperhatikan.)
sumber