Masalahnya adalah ini: Saya ingin menyalin file dari mesin jarak jauh.
Saya mencari cara untuk menulis skrip shell yang akan terhubung ke mesin jarak jauh, mendapatkan lokasi file yang disimpan, setelah saya mendapatkan lokasi putuskan sambungan dari server jarak jauh dan menggunakan scp dari dalam mesin lokal dengan lokasi yang diperoleh untuk salin file.
Secara khusus, saya ingin tahu bagaimana dari sebuah skrip, saya akan terhubung ke mesin jarak jauh, melakukan tugas-tugas pada mesin itu. Putuskan sambungan, dan lanjutkan eksekusi secara lokal.
Anda dapat menulis skrip dalam format berikut:
Anda perlu mengatur kunci SSH untuk
command3
dieksekusi tanpa meminta kata sandi.sumber
ssh user@remote command3
sedang berjalan,command4
tidak dapat memulaissh user@machine command3 &
Saya berasumsi Anda sudah memiliki beberapa ide tentang bagaimana Anda akan mengidentifikasi file yang ingin Anda salin, dan bahwa Anda dapat, atau sudah memiliki, menulis skrip atau serangkaian perintah yang akan berjalan pada mesin jarak jauh yang melakukan identifikasi ini .
Selanjutnya saya juga akan menganggap bahwa perintah-perintah itu mencetak pada output standar path lengkap ke file, atau path relatif ke file, relatif ke direktori home dari pengguna SSH yang digunakan untuk copy. Dalam contoh saya, nama skripnya adalah "getfilepath.sh", meskipun tidak harus berupa skrip shell, itu bisa berupa beberapa perintah yang dapat dieksekusi atau bahkan serangkaian perintah lainnya.
Dalam kode di atas, notasi "$ ()" adalah cara menangkap keluaran standar dari suatu perintah sebagai variabel shell. Ini cukup standar, tetapi jika Anda menggunakan shell yang tidak memahaminya, Anda dapat mengelilingi perintah dengan "back-ticks", yang merupakan tanda aksen di sebelah kiri tombol 1 pada kebanyakan keyboard AS.
sumber
mungkin dimungkinkan untuk memicu Tugas terjadwal pada mesin jarak jauh yang melakukan semua pekerjaan.
Ini akan mencegah Anda dari terhubung ke mesin jarak jauh saat Anda mencari lokasi file yang ingin Anda salin.
Saya sedang melakukan ini:
comand line memicu tugas terjadwal yang mengeksekusi skrip batch dalam kasus saya.
salam Hormat
sumber