Saya memasang penyimpanan cloud Box.com menggunakan davfs sesuai dengan instruksi ini . Saya memasang akun Box.com saya di / home / me / Cloud / Box
Saya dapat mengakses sistem file yang dipasang melalui Dolphin serta melalui terminal. Agak lambat, tapi saya bisa daftar (ls) dan menavigasi seluruh struktur direktori tanpa kesalahan.
Selanjutnya saya mencoba menjalankan rsync sebagai berikut:
rsync -auvz --max-size=250M --exclude '.*' /home/me/Music/ /home/me/Cloud/Box/Music
Saya juga mencoba:
rsync -auv /home/me/Music/A /home/me/Cloud/Box/Music
dan variasi perintah rsync lainnya. Perintah ini menyalin Musik saya dari sistem file lokal saya (/ home / me / Music /) ke Box cloud (/ home / me / Cloud / Box / Music) melalui davfs mount.
Saya selalu mendapatkan banyak kesalahan dari formulir ini:
rsync: mkstemp <filename> failed: Invalid argument (22)
Contoh spesifik adalah:
rsync: mkstemp "/home/me/Cloud/Box/Music/VariousArtists/.01_Track_1.mp3.YVmFI9" failed: Invalid argument (22)
Ini semua terjadi pada Kubuntu 12.04 LTS 64 bit, perangkat keras tingkat server, dengan koneksi modem kabel yang cepat / andal (kecepatan unggah 12 Mb / dtk).
--max-size=250M --exclude '.*'
. Saya yakincp
dapat dibuat untuk melakukan ini ... mungkin dengan mem-pipkan output dari find ke cp? Tapi saya belum tahu bagaimana melakukannya. Jika kami menemukan solusi, saya akan cobacp -ru
. Terima kasih... -size -250M
dilakukan, jika tidak Anda akan menggunakan+250M
(ada versi yang salah di sini, tapi saya menyadarinya sebelum edit diperbaiki)1. Masalah dengan karakter khusus dalam nama file
Apakah ada karakter khusus dalam nama file? Bergantung pada sistem file tempat Anda menulis file-file ini, mereka mungkin tidak memungkinkan Anda untuk mengawali file dengan titik (
.
) misalnya.2. Masalah dengan waktu modifikasi rsync dan webdav2
Saya menemukan posting blog ini di mana masalah dijelaskan dengan
rsync
memiliki masalah menulis / melacak kali modifikasi file di webdav2 mount direktori box.com.Masalahnya muncul seperti ini di sistem file yang dipasang:
Artikel yang sama menunjukkan solusi:
Ini adalah cara yang OK untuk digunakan
rsync
, tetapi ini hanya membandingkan file berdasarkan ukurannya sekarang, bukan checksum mereka.3. Masalah dengan davfs2 (WebDAV)
Saya menemukan utas ini berjudul: rsync via davfs2? di forum WebDAV (davfs) di atas pada sourceforge. Seseorang bertanya tentang situasi serupa di mana mereka ingin menggunakan WebDAV untuk memasang penyedia penyimpanan online dan melakukan rsync ke penyimpanan yang dipasang melalui WebDAV. Inilah yang dikatakan oleh salah satu pengembang (Werner Baumann) dari WebDAV tentang topik ini .
kutipan tanggapan Werner
Werner selanjutnya menyarankan yang berikut
Pilihan?
Jadi seperti yang disarankan @Anthon, Anda dapat menggunakan
cp -u
metode ini untuk menyalin file. Menyadari bahwa metode ini semata-mata melihat ukuran file sebagai faktor perbandingan, sehingga tidak sepenuhnya dapat diandalkan.Anda tidak boleh menggunakan apa pun yang hanya terlihat pada waktu modifikasi ketika membandingkan file
cp -pru
,. Werner menjelaskan mengapa di utas ini :kutipan tentang masalah dengan waktu mod
Jadi mengingat berbagai masalah seputar waktu modifikasi pendekatan menggunakan checksum murni tampaknya lebih cocok:
sumber
got file_sum recv_files(Some_Music_[1999]/Some_Music_[1999]Zuni_SongVarious_Artists24.mp3) rsync: mkstemp "/home/me/Cloud/Box/Music/Some_Music_[1999]/.Some_Music_[1999]Zuni_SongVarious_Artists24.mp3.1aWWRY" failed: Invalid argument (22) got file_sum
got file_sum recv_files(Carlos/Dance/05-Tapestry-Carlos.mp3) rsync: mkstemp "/home/me/Cloud/Box/Music/Carlos/Dance/.05-Tapestry-Carlos.mp3.WeGbGS" failed: Invalid argument (22) got file_sum recv_files(Carlos/Dance/06-Dance-Turquoise_Dance-Carlos.mp3)
rsync
yang Anda gunakan?rsync --version
.rsync version 3.0.9 protocol version 30
dan saya sedang menguji solusi Anda yang diperbarui sekarang. Terima kasih!Untuk menghentikan
Invalid argument (22)
kesalahan, saya harus menghentikan rsync dari membuat file temp-nya di tujuan davfs.Saya pikir yang terjadi adalah nama file temp rsync dimulai dengan
.
dan davfs tidak mengizinkan ini. Jadi saya melangkah lebih jauh dan mengatakan kepada rsync untuk mengabaikan file sumber dengan nama yang dimulai dengan.
. Karena saya menggunakan--delete
, saya juga mengatakan untuk tidak mencoba menghapuslost+found
direktori di tujuan davfs.sumber