Saya menghadapi situasi yang agak sederhana, saya harus mengunggah, apa adanya, pohon besar file ke server WebDAV yang dapat dijangkau melalui HTTPS. Saya harus mulai mengunggah dari kotak linux hanya dengan baris perintah. Saya dapat menginstal program di kotak.
Saya sudah mencoba mayat tetapi tidak mendukung pengunggahan direktori rekursif.
Apakah Anda tahu alat / skrip sederhana untuk mencapai itu?
Ok, saya menemukan sesuatu yang berhasil.
Saya mulai dari davpush.pl
skrip yang dapat ditemukan di sini https://github.com/ptillemans/davpush
Beberapa perubahan diperlukan:
- ganti semua "
dav://
" menjadi "https://
" - tambahkan "
print POUT "open";
" sebelum "print POUT $script;
"
Sial, harus meretas skrip perl untuk hanya mengunggah direktori yang tidak sopan. Saya masih mencari alat / skrip sederhana.
sumber
Berikut ini adalah skrip shell yang diretas dengan cepat yang memungkinkan untuk melakukannya menggunakan mayat :
Jika itu dinamai
davcpy.sh
maka perintah sepertimemungkinkan salinan rekursif dari
menjadi yang jauh bernama
Perhatikan bahwa ia menggunakan fasilitas scripting
cadaver
untuk tetap mengizinkan pengetikan login / kata sandi interaktif. Saya pikir itu juga cukup kuat untuk menangani file aneh dan nama direktori yang mengandung spasi, tapi saya tidak menguji kasus seperti itu.sumber
Sebuah solusi bisa berupa Rclone . Ini adalah program sinkronisasi baris perintah satu arah, mirip dengan rsync, yang mendukung WebDAV (antara lain). Itu bisa secara rekursif menyalin direktori, melewatkan file yang ada di tujuan. Ini memiliki beberapa opsi baris perintah untuk mengontrol perilaku sinkronisasi, misalnya, apakah Anda ingin file target dihapus jika mereka pergi dari sumber. Ada paket yang tersedia untuk banyak distro tetapi Anda juga dapat menginstal dan menjalankan biner biasa. Pertama kali, Anda harus mendefinisikan "remote":
Setelah itu, Anda dapat menyalin atau menyinkronkan file dan direktori:
sumber
Modifikasi jawaban nberth yang berfungsi di OSX:
Penggunaannya sama. Mengutip dari jawaban kesembilan:
sumber
Saya di Ubuntu Linux. Dengan bantuan sekering, (Filesystem di Userspace), dan mountdavfs (davfs2), Anda dapat memasang subdirektori pada server Webdav sebagai folder lokal.
Buka terminal Anda dan lanjutkan sebagai berikut:
Instal davfs2 jika belum ada:
sudo apt-get install davfs2
Terhubung ke server Webdav:
sudo mount.davfs -o user=knb,rw https://webdav.site.de/data /mnt/somedir
(Pemilik sistem file harus dimasukkan, jika tidak tidak ada hak tulis yang hadir)
Selain itu saya harus memasukkan baris ini ke
/etc/dafs2/davfs2.conf
:Lihat https://bugs.launchpad.net/ubuntu/+source/davfs2/+bug/466960
mount
- Perintah - Hasil (Baris terakhir keluaran):https://webdav.mysite.de/icdp on /media/somedir type fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=0,allow_other,max_read=16384,uid=1000,gid=0,helper=davfs)
Juga periksa apakah ada file aneh
~/.davfs2/secrets
- mungkin diperlukan, untuk tunggangan permanen yang selamat dari reboot.Sekarang Anda dapat mengeluarkan perintah seperti
cp -vr /data/myphotos /media/somedir
dan file akan disalin secara rekursif, dan diunggah ke situs webdav.sumber