J'ai monté le stockage cloud Box.com en utilisant davfs selon ces instructions . J'ai monté mon compte Box.com sous / home / me / Cloud / Box
Je peux accéder au système de fichiers monté via Dolphin ainsi que via le terminal. C'est un peu lent, mais je peux lister (ls) et parcourir toute la structure du répertoire sans erreur.
Ensuite, j'ai tenté d'exécuter rsync comme suit:
rsync -auvz --max-size=250M --exclude '.*' /home/me/Music/ /home/me/Cloud/Box/Music
J'ai aussi essayé:
rsync -auv /home/me/Music/A /home/me/Cloud/Box/Music
et d'autres variantes des commandes rsync. La commande copie ma musique depuis mon système de fichiers local (/ home / me / Music /) vers le cloud Box (/ home / me / Cloud / Box / Music) via le montage davfs.
Je reçois toujours beaucoup d'erreurs de ce formulaire:
rsync: mkstemp <filename> failed: Invalid argument (22)
Un exemple spécifique est:
rsync: mkstemp "/home/me/Cloud/Box/Music/VariousArtists/.01_Track_1.mp3.YVmFI9" failed: Invalid argument (22)
Tout cela se produit sur le matériel Kubuntu 12.04 LTS 64 bits, de qualité serveur, avec une connexion par modem câble rapide / fiable (vitesses de téléchargement de 12 Mb / s).
--max-size=250M --exclude '.*'
. Je suis sûrcp
qu'on peut faire ça ... peut-être en canalisant la sortie de find dans cp? Mais je ne sais pas encore comment faire ça. Si nous trouvons une solution, je vais essayercp -ru
. Merci... -size -250M
fait, sinon vous utiliseriez+250M
(il y avait brièvement une mauvaise version ici, mais je m'en suis rendu compte avant que la modification ne soit corrigée)1. Problèmes avec les caractères spéciaux dans les noms de fichiers
Y a-t-il des caractères spéciaux dans les noms de fichiers? Selon le système de fichiers sur lequel vous écrivez ces fichiers, ils peuvent ne pas vous permettre de préfixer les fichiers avec un point (
.
) par exemple.2. Problèmes avec les temps de modification de rsync et webdav2
Je suis tombé sur ce billet de blog où un problème est décrit avec
rsync
un problème d'écriture / de suivi des temps de modification des fichiers dans les répertoires box.com montés sur webdav2.Le problème apparaît comme ceci dans le système de fichiers monté:
Ce même article a montré une solution de contournement:
C'est une bonne façon d'utiliser
rsync
, mais ce n'est que de comparer les fichiers en fonction de leur taille maintenant, pas de leurs sommes de contrôle.3. Problèmes avec davfs2 (WebDAV)
Je suis tombé sur ce fil intitulé: rsync via davfs2? sur le forum WebDAV (davfs) sur sourceforge. Quelqu'un se renseignait sur une situation similaire où ils voulaient utiliser WebDAV pour monter un fournisseur de stockage en ligne et effectuer des rsync sur le stockage monté via WebDAV. C'est ce que l'un des développeurs (Werner Baumann) de WebDAV avait à dire sur ce sujet .
extrait de la réponse de Werner
Werner suggère ensuite ce qui suit
Des options?
Ainsi, comme @Anthon l'a suggéré, vous pouvez utiliser la
cp -u
méthode pour copier les fichiers. Réalisant que cette méthode ne considère que la taille d'un fichier comme un facteur de comparaison, elle n'est donc pas complètement fiable.Vous ne devriez pas utiliser tout ce qui ne regarde que les temps de modification lorsque l'on compare les fichiers,
cp -pru
. Werner explique pourquoi dans ce fil :extrait sur problème avec les heures de modification
Donc, étant donné les divers problèmes entourant les temps de modification, une approche utilisant uniquement des sommes de contrôle semble plus appropriée:
la source
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
utilisez-vous également?rsync --version
.rsync version 3.0.9 protocol version 30
et je teste votre solution mise à jour maintenant. Merci!Pour arrêter l'
Invalid argument (22)
erreur, j'ai dû arrêter rsync de créer ses fichiers temporaires sur la destination davfs.Je pense que ce qui se passe est que les noms de fichiers temporaires de rsync commencent par
.
et davfs ne le permet pas. Je suis donc allé plus loin et j'ai dit à rsync d'ignorer les fichiers source dont le nom commence par.
. Depuis que j'utilise--delete
, je lui ai également dit de ne pas essayer de supprimer lelost+found
répertoire dans la destination davfs.la source