Saya perlu mengunggah folder lengkap menggunakan FTP. Apakah ada opsi untuk mentransfer folder dan semua isinya sekaligus?
Saya perlu mengunggah folder lengkap menggunakan FTP. Apakah ada opsi untuk mentransfer folder dan semua isinya sekaligus?
Jawaban:
Jika Anda menggunakan klien ftp baris perintah standar, MPUT
perintah itu akan memungkinkan Anda untuk mentransfer semua file yang cocok dengan pola (gaya glob), sehingga MPUT *
akan mengirim semua file di direktori saat ini. Ada juga MGET
untuk mengambil file yang cocok dengan suatu pola.
Secara default, keduanya MPUT
dan MGET
akan meminta apakah akan mentransfer setiap file sebelum melakukannya. Anda mungkin ingin mematikan prompt dengan perintah "PROMPT" (tidak ada argumen; itu toggle).
Anda dapat menggunakan ncftpput. Lakukan hal berikut:
Instal ncftp:
yum install ncftp
yum adalah huruf kecil.
Kalau tidak:
apt-get install ncftp
2. Jalankan perintah berikut:
ncftpput -R -v -u "ftp-username" ftp.website.com ftp-upload-path local-path/*
Gunakan klien FTP seperti LeechFTP atau FileZilla atau yang serupa. Banyak orang bersumpah dengan CuteFTP, tapi itu shareware terakhir yang saya periksa. Semua dukungan mentransfer seluruh folder termasuk struktur direktori.
Tutorial sederhana untuk pemula Windows lainnya seperti saya yang berakhir di sini:
Cara termudah untuk mengunggah seluruh folder (dengan semua subfolder dan file di dalamnya) adalah:
ncftpput -u * yourUserNameHere * -p * yourUserPasswordHere * -R * www.yourWebsite.com * / _C: \ yourFolderDirectoryHere \\ * _(sebagai satu baris).
Perhatikan bahwa:
-R
adalah bendera untuk "rekursif"; itu membuat perintah menyalin semua subfolder secara rekursif/
(slash) adalah direktori root situs web AndaC:\yourFolderDirectoryHere\*
memilih semua yang ada di dalamnya C:\yourFolderDirectoryHere
Saya akan menawarkan jawaban yang - meskipun itu adalah kekuatan kasar murni dan tidak anggun sedikit pun - adalah satu-satunya hal yang berhasil bagi saya di baris perintah. Saya membuat daftar file, dan memasukkannya ke dalam skrip:
buat daftar file Anda:
find my-dir -exec echo "put /Users/username/"{} {} \;
salin dan tempel ke skrip:
#!/bin/bash
hostname="my-ftp-host"
username="username"
password="password"
ftp -in $hostname <<EOF
quote USER $username
quote PASS $password
binary
cd 123456
{COPY THE LIST HERE}
quit
EOF
Lihat ini .
Anda juga dapat membuat folder di server , dan kemudian mengunggah semua file ke folder baru itu.
FileZilla sangat bagus untuk ini. Jika Anda tidak ingin mengunduh / menginstal apa pun, ini dapat dilakukan dengan Internet Explorer. Pergilah ke opsi lanjutan, dan pilih Enable FTP folder view (outside of Internet Explorer)
. Kemudian Anda bisa mengarahkan jendela explorer di server FTP Anda dan drag-and-drop file dan folder antara windows explorer.
Dir target adalah file zip. Anda dapat menyalin file zip lengkap ke server ftp menggunakan kode di bawah ini.
//Taking source and target directory path
string sourceDir = FilePath + "Files\\" + dsCustomer.Tables[0].Rows[i][2].ToString() + "\\ConfigurationFile\\" + dsSystems.Tables[0].Rows[j][0].ToString() + "\\XmlFile";
string targetDir = FilePath + "Files\\Customers\\" + CustomerName + "\\" + SystemName + "\\";
foreach (var srcPath in Directory.GetFiles(sourceDir))
{
//Taking file name which is going to copy from the sourcefile
string result = System.IO.Path.GetFileName(srcPath);
//If that filename exists in the target path
if (File.Exists(targetDir + result))
{
//Copy file with a different name(appending "Con_" infront of the original filename)
System.IO.File.Copy(srcPath, targetDir + "Con_" + result);
}
//If not existing filename
else
{
//Just copy. Replace bit is false here. So there is no overwiting.
File.Copy(srcPath, srcPath.Replace(sourceDir, targetDir), false);
}
}
Jawaban saya adalah variasi dari jawaban @dgig.
Anda dapat mendaftar semua file dan menyimpannya (termasuk perintah put) ke dalam file:
find my-dir -exec echo "put /Users/username/"{} {} > list.txt \;
dan kemudian gunakan sftp untuk memproses file:
sftp -C -b sftpbatchfile.txt name@server
-C
adalah untuk kompresi, -b
untuk file batch
sftp
Program menggunakan protokol SFTP yang merupakan protokol yang berbeda meskipun memiliki beberapa huruf yang sama. Dan Anda tidak mengedit enter code here
sisanya.