2024 Pengarang: Peter John Melton | [email protected]. Diubah suai terakhir: 2024-01-31 06:10
Tugas yang sangat umum untuk pemaju web adalah memuat naik satu fail dari subdirektori pada kotak pembangunan anda ke subdirektori yang sama pada pelayan jauh. Malangnya, ini selalu menjadi proses manual yang menjengkelkan yang melibatkan pertukaran direktori pada kedua-dua pelayan, dan membuang masa yang banyak.
Jadi, saya telah mengambilnya untuk menulis skrip shell untuk mengautomasikan ini untuk saya, menggunakan scp untuk menyalin fail selamat. (Catatan Nota Penting: ftp adalah sangat tidak selamat, gunakan WinSCP sebaliknya)
Masalah utama untuk diselesaikan ialah pemasangan WordPress saya pada mesin pembangunan saya mempunyai direktori asas berbeza daripada pemasangan pada pelayan saya. Pada mesin pembangunan saya itu / var / www, dan pada pelayan saya adalah sesuatu yang lebih seperti / var / www / howtogeek / docs /. Saya memutuskan untuk memindahkan mereka ke pembolehubah pada permulaan skrip, seperti ini:
[email protected] RDIR=/var/www/howtogeek/docs LDIR=’/var/www’
Perhatikan bahawa direktori setempat (LDIR) dalam skrip mempunyai sebelum setiap / dalam laluan. Ini kerana kita akan lulus ini ke dalam perintah sed kemudian dalam skrip, jadi kita harus melepaskan nilai tersebut. Saya pasti ada cara lain di sekitar ini, tetapi saya tidak menyedarinya.
Seterusnya, saya menyediakan log masuk ssh automatik. Untuk melakukan ini, anda perlu terlebih dahulu menjalankan utiliti ssh keygen seperti:
ssh-keygen -t rsa
Kemudian anda perlu menyalin fail ~ /.ssh / id_rsa.pub ke fail ~ /.ssh / authorized_keys pada pelayan jauh. Sekiranya direktori ~ /.ssh sudah dibuat pada pelayan jauh (mungkin ingin semak), maka anda boleh menjalankan perintah ini untuk menyalin kunci ke atas:
cat ~/.ssh/id_rsa.pub | ssh user@hostname ‘cat >>.ssh/authorized_keys’
Kini kami mendapat log masuk ssh automatik, yang akan membolehkan penggunaan utiliti scp tanpa kata laluan. Sekarang mari kita lihat perintah scp yang akan kita gunakan dalam skrip:
scp $1 $SSHSERVER:$RDIR`pwd|sed “s/${LDIR}//”`/`echo $1|sed ‘s/.*///’`
$ 1 ialah parameter yang anda akan lulus ke skrip untuk nama fail yang anda cuba muat naik. $ SSHSERVER dan $ RDIR adalah pembolehubah yang akan kami tetapkan pada permulaan skrip untuk menetapkan nama @ hostname dan laluan jauh terdahulu.
Blok pertama yang bermula dengan pwd | mengambil laluan direktori semasa dan jalur dari bahagian sebelumnya jalan yang tidak sepadan dengan pelayan jauh, tetapi meninggalkan seluruh jalan. Sebagai contoh, jika anda berada di / var / www / wp-content / apabila anda menjalankan arahan, blok sed akan menghapus / var / www berdasarkan pembolehubah LDIR kami, tetapi biarkan / wp-content /.
Blok kedua hanya memastikan untuk melepaskan keseluruhan laluan sebelumnya dari nama fail yang diluluskan ke skrip supaya anda hanya mendapat nama fail.
Sebagai contoh, jika anda menamakan skrip up.sh dan lari dari direktori / var / www / wp-content / plugins / local anda pada fail:
up.sh myplugin.php
Ini akan dikembangkan oleh shell sebagai berikut:
scp myplugin.php [email protected]:/var/www/howtogeek/docs/wp-content/plugins/myplugin.php
Daripada mencuba membuat fail skrip anda sendiri berdasarkan artikel, saya telah menyediakannya untuk anda memuat turun. Dengan cara itu tidak akan ada masalah dengan aksara khas yang tidak berfungsi … dan ya, saya menggunakan skrip untuk memuat naik sendiri =)
Muat turun geek-uploader.sh
Hanya letakkannya di suatu tempat di jalan anda, dan namakan apa sahaja yang anda mahu. Saya menamakan semula saya sebagai "naik", jadi saya hanya boleh menaip "filename.txt" untuk dimuat naik. Juga ingat untuk membukanya dan mengubah pembolehubah pada permulaan skrip agar sesuai dengan persekitaran anda.
Skrip ini harus berfungsi dengan apa-apa dengan * shell nix dan utiliti scp. Saya menggunakan Ubuntu, tetapi ia harus berfungsi pada Solaris, OS X, atau Windows dengan Cygwin dipasang.
Disyorkan:
Adakah Komputer Tempatan saya Perantara Apabila Saya Memindahkan Fail Antara Pelayan Jauh?
Anda sedang memindahkan fail di antara dua lokasi terpencil dan penghantarannya agak lambat. Adakah komputer tempatan disalahkan? Baca terus seperti yang kami menggali ke dalam nuansa pemindahan fail.
Muat naik Fail ke Laman FTP Dengan Klik Kanan Menggunakan Skrip Mudah ini
Walaupun terdapat banyak pelanggan FTP yang tersedia, tidak ada yang lebih mudah daripada menghantar fail ke pelayan FTP dengan klik kanan. Begitu juga, banyak utiliti yang tersedia yang menambah fungsi ini kepada Windows, tetapi untuk geek ia cukup memuaskan untuk menyahpasang "utiliti lain" dan menggantikannya dengan alat anda sendiri.
Pemuat Fail dan Imej: Muat naik fail ke laman web hosting pelbagai fail
Pengangkut Fail dan Imej Percuma secara automatik akan mengubah saiz, memuat naik 1 atau lebih fail ke satu laman web hosting tunggal atau berbilang dengan hanya satu klik.
Cara menambah, memuat naik, menyimpan, membuat, menggunakan fail dalam OneDrive
Bagaimana untuk menggunakan OneDrive? Ketahui cara menambah, memuat naik, menyimpan, membuat, menggunakan fail, foto & folder dan menyegerakkan folder kongsi dalam OneDrive menggunakan Windows PC anda.
Cloudtag membolehkan anda memuat naik dan berkongsi fail menggunakan hashtag
Cloudtag adalah perisian Windows percuma yang membolehkan pengguna memuat naik dan berkongsi fail. Anda boleh berkongsi fail dengan membuat Hashtag menggunakan perisian ini.