Beberapa kali sepanjang hari, saya mungkin menjalankan tes di mana saya perlu melihat file log di server jauh. Saya sudah terbiasa menggunakan terminal saya untuk sftp
masuk ke server jarak jauh dan menarik file log yang diinginkan ke /tmp
mesin lokal saya.
Saya melihat-lihat opsi hari ini menggunakan man sftp
dalam upaya untuk mencari cara untuk menjalankan perintah berikut pada dasarnya dalam satu baris sehingga saya tidak perlu mengetikkan perintah, tekan enter, ketik perintah tekan enter, dll.
(apa yang saya lakukan sekarang)
sftp myuser@myserver
--mypassword at prompt
lcd /tmp
get /dir/dir/dir/dir/file
quit
Saya menemukan sambil melihat-lihat man sftp
referensi scp
yang belum pernah saya gunakan sebelumnya. Saya merasa itu mungkin yang saya cari, tetapi saya tidak melihat cara untuk menentukan ke mana saya ingin file yang disalin dengan aman itu pergi.
Bisakah seseorang memberi saya cara untuk mendapatkan /dir/file
dari server jarak jauh dan mengunduhnya /tmp/file_plus-my-description
?
Saya berharap dapat menjalankan perintah sftp atau scp yang mirip dengan salinan UNIX biasa seperti:
scp myuser@myserver /dir/file /tmp/file_plus-my-description
Saya menggunakan bawaan Terminal
di Mac OS X 10.8. Terima kasih.
Untuk MENGUNGGAH satu file, Anda perlu membuat skrip bash. Sesuatu seperti berikut seharusnya berfungsi di OS X jika Anda telah
sshpass
menginstal.Pemakaian:
Letakkan skrip ini di suatu tempat di jalur Anda dan beri nama
sftpx
:sumber
sftp mendukung file batch.
Dari halaman manual:
sumber
--batch
akan mengharuskan saya untuk memasukkan perintah saya ke dalam file kemudian meneruskan file itu sebagai param. Saya masih bermain-mainscp
, saya merasa mungkin berisi solusi saya.Atau
echo 'put {path to file}' | sftp {user}@{host}:{dir}
, yang akan bekerja di unix dan PowerShell.sumber
Modifikasi kecil seperti di bawah ini berhasil untuk saya saat menggunakannya dari dalam perl dan system () call:
sumber
Jawaban SCP
OP menyebutkan SCP, jadi begini.
Seperti yang ditunjukkan orang lain, SFTP membingungkan karena sintaks unggahan sama sekali berbeda dari sintaks unduhan . Ia mendapat sedikit lebih mudah untuk diingat jika Anda menggunakan bentuk yang sama:
Pada kenyataannya, ini masih berantakan, dan itulah mengapa orang masih menggunakan perintah "usang" seperti SCP:
SCP aman tetapi tertanggal. Ada beberapa bug yang tidak akan pernah bisa diperbaiki, yaitu crash jika server
.bash_profile
mengeluarkan pesan. Namun, dalam hal kegunaan, pengembang sudah bertahun-tahun di depan.sumber