Bye Bye Cozy Cloud et bonjour OwnCloud sur réseau local

J’ai vraiment été patient avec Cozy.Cloud mais les fichiers et répertoires « conflicts », c’était trop pénible !

J’ai donc opté pour cette architecture, l’avantage c’est que je n’ai rien sur le Cloud. Et l’autre avantage c’est que l’application oCloud fait de la vrai synchronisation. Ce n’est pas seulement un Viewer, comme l’application de Cozy.Cloud pour Android.

Je garde le compte Cozy.Cloud car il est pratique pour récupérer les données de Digiposte. Et Digiposte est pratique car il est interfacer avec de nombreux fournisseurs … sûrement 4 fois plus que Cozy.Cloud. Je souhaite bonne continuation à Cozy.Cloud.

Mes articles sur Cozy.Cloud :

J’ai donc un recul de 5 mois sur Cozy.Cloud, en plus de cela (des fichiers conflicts) je n’ai pas réellement vu de nouveau fournisseurs durant ses 5 mois. Quand j’ai fait le comparatif il y avait 61 fournisseurs (sachant qu’ils ne fonctionnent tous pas très bien), c’était le 

Voici ma nouvelle architecture :

Bonne continuation à Cozy Cloud, l’idée est bonne mais la réalisation pas encore assez stable à mon goût. J’avais « seulement » 6 Go de données :

C’est assez marrant, je me retrouve avec 509 Mo de dossiers de conflit … les dossiers qui ne sont plus visible depuis le Mac …

Cozy Drive : Application Mac OS (version 3.10.2): Blocage du PC mais du mieux sur les fichiers conflicts

J’ai eu un blocage du PC suite à la mise à jours … mais je pense qu’il y a du mieux sur la gestion des fichiers conflicts (à vérifier :« errors »:2, »_id »: ).

Le logiciel a fait une boucle infini, mais je n’ai pas pu tuer le driver … j’ai donc fait un reboot. ( Le driver n’est pas présent dans « Forcer à quitter » )

{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":10,"lock":{"id":4195,"state":"acquired"},"msg":"","time":"2018-11-07T07:58:54.170Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":10,"lock":{"id":4195,"state":"released"},"msg":"","time":"2018-11-07T07:58:54.170Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":20,"msg":"No more metadata changes for now","time":"2018-11-07T07:58:54.171Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":10,"seq":322986,"msg":"Waiting for changes since seq","time":"2018-11-07T07:58:54.178Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":10,"lock":{"id":4196,"state":"requested"},"msg":"","time":"2018-11-07T07:58:54.185Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":10,"lock":{"id":4196,"state":"acquired"},"msg":"","time":"2018-11-07T07:58:54.186Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":10,"lock":{"id":4196,"state":"released"},"msg":"","time":"2018-11-07T07:58:54.186Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":20,"msg":"No more metadata changes for now","time":"2018-11-07T07:58:54.187Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":10,"seq":322986,"msg":"Waiting for changes since seq","time":"2018-11-07T07:58:54.190Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":10,"lock":{"id":4197,"state":"requested"},"msg":"","time":"2018-11-07T07:58:54.196Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":10,"lock":{"id":4197,"state":"acquired"},"msg":"","time":"2018-11-07T07:58:54.198Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":10,"lock":{"id":4197,"state":"released"},"msg":"","time":"2018-11-07T07:58:54.198Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":20,"msg":"No more metadata changes for now","time":"2018-11-07T07:58:54.199Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":10,"seq":322986,"msg":"Waiting for changes since seq","time":"2018-11-07T07:58:54.200Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":10,"lock":{"id":4198,"state":"requested"},"msg":"","time":"2018-11-07T07:58:54.213Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":10,"lock":{"id":4198,"state":"acquired"},"msg":"","time":"2018-11-07T07:58:54.214Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":10,"lock":{"id":4198,"state":"released"},"msg":"","time":"2018-11-07T07:58:54.214Z","v":0}
{"name":"Cozy Desktop","hostname":"local","pid":669,"component":"Sync","level":20,"msg":"No more metadata changes for now","time":"2018-11-07T07:58:54.215Z","v":0}

 

J’ai noté l’erreur suivante :

"err":{"message":"{\"errors\":[{\"status\":\"412\",\"title\":\"Precondition Failed\",\"detail\":\"Revision does not match\",\"source\":{\"parameter\":\"If-Match\"}}]}","name":"FetchError","stack":"FetchError: {\"errors\":[{\"status\":\"412\",\"title\":\"Precondition Failed\",\"detail\":\"Revision does not match\",\"source\":{\"parameter\":\"If-Match\"}}]}\n    at handleResponse (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:92:15)\n    at /Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:17:29\nFrom previous event:\n    at /Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:17:17\n    at runCallback (timers.js:781:20)\n    at tryOnImmediate (timers.js:743:5)\n    at processImmediate [as _immediateCallback] (timers.js:714:5)\nFrom previous event:\n    at cozyFetch (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:7:30)\n    at fetchJSON (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:78:10)\n    at cozyFetchJSON (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:53:10)\n    at doUpdateAttributes (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/files.js:186:10)\n    at updateAttributesById (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/files.js:194:10)\n    at Object.prototyped [as updateAttributesById] (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/index.js:307:12)\n    at RemoteCozy.updateAttributesById (/Applications/Cozy Drive.app/Contents/Resources/app.asar/core/remote/cozy.js:116:30)\n    at Remote.moveFileAsync (/Applications/Cozy Drive.app/Contents/Resources/app.asar/core/remote/index.js:211:63)\n    at "},"change":{"id":"

Ainsi que cette erreur :

"err":{"message":"Cannot read property '_rev' of undefined","name":"TypeError","stack":"TypeError: Cannot read property '_rev' of undefined\n    at Remote.moveFileAsync (/Applications/Cozy Drive.app/Contents/Resources/app.asar/core/remote/index.js:208:34)\n    at "},"change":{"id":

Et celle-ci :

"err":{"message":"{\"errors\":[{\"status\":\"409\",\"title\":\"Conflict\",\"detail\":\"file already exists\",\"source\":{}}]}","name":"FetchError","stack":"FetchError: {\"errors\":[{\"status\":\"409\",\"title\":\"Conflict\",\"detail\":\"file already exists\",\"source\":{}}]}\n    at handleResponse (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:92:15)\n    at /Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:17:29\nFrom previous event:\n    at /Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:17:17\n    at runCallback (timers.js:781:20)\n    at tryOnImmediate (timers.js:743:5)\n    at processImmediate [as _immediateCallback] (timers.js:714:5)\nFrom previous event:\n    at cozyFetch (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:7:30)\n    at fetchJSON (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:78:10)\n    at cozyFetchJSON (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:53:10)\n    at createDirectory (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/files.js:125:10)\n    at Object.prototyped [as createDirectory] (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/index.js:307:12)\n    at RemoteCozy.createDirectory (/Applications/Cozy Drive.app/Contents/Resources/app.asar/core/remote/cozy.js:103:30)\n    at RemoteCozy.findOrCreateDirectoryByPath (/Applications/Cozy Drive.app/Contents/Resources/app.asar/core/remote/cozy.js:197:19)\n    at "},"change":{"id":

C’est parti en boucle infini à 100% du CPU après ce message :

"err":{"message":"We should not have both move and unlink changes since checksumless adds and inode-less unlink events are dropped","name":"Error","stack":"Error: We should not have both move and unlink changes since checksumless adds and inode-less unlink events are dropped\n    at panic (/Applications/Cozy Drive.app/Contents/Resources/app.asar/core/local/analysis.js:42:9)\n    at analyseEvents (/Applications/Cozy Drive.app/Contents/Resources/app.asar/core/local/analysis.js:162:15)\n    at analysis (/Applications/Cozy Drive.app/Contents/Resources/app.asar/core/local/analysis.js:33:40)\n    at LocalWatcher.onFlush (/Applications/Cozy Drive.app/Contents/Resources/app.asar/core/local/chokidar_watcher.js:211:42)\n    at "}

A suivre.

Cozy Drive : Application Mac OS (version 3.10.1): Pour mieux comprendre l’excès de logs

Je vous propose de faire cette petite commande qui va permettre de voir le nombre de ligne de logs par minutes :

$ cat .cozy-desktop/logs.txt* | egrep -o '"time":"[0-9]+-[0-9]+-[0-9]+T[0-9]+:[0-9]+' | sed 's/"/ /g' | awk '{print $3}' | sort -n | uniq -c > nombre_ligne_log_par_minutes.csv

Ensuite on peut voir le top 5:

$ cat nombre_ligne_log_par_minutes.csv | sort -n | tail -5
50760 2018-10-25T15:01
50933 2018-10-27T16:08
52271 2018-10-31T14:45
52974 2018-10-29T20:39
53299 2018-10-25T15:58

$ du -sh .cozy-desktop/logs.txt*
 63M	.cozy-desktop/logs.txt
 39M	.cozy-desktop/logs.txt.0
 80K	.cozy-desktop/logs.txt.1
162M	.cozy-desktop/logs.txt.2
104M	.cozy-desktop/logs.txt.3
196M	.cozy-desktop/logs.txt.4
 23M	.cozy-desktop/logs.txt.5
 24M	.cozy-desktop/logs.txt.6

Quand on écrit plus de 50000 lignes par minute j’ai le disque qui ne suit pas et cela mets le Mac Book dans un état de fatigue avancé.

Sachant que les logs ne prennent pas en compte le décalage horaire …. par exemple je lance à 19h29, les logs indique 18h29 (pas grave). J’observe un pic 5 min après et ensuite cela continue … avec la précédente version j’arrivais à voir une ligne par minute …

   3 2018-10-31T18:29
  31 2018-10-31T18:30
8101 2018-10-31T18:31
7457 2018-10-31T18:32
49066 2018-10-31T18:33
 278 2018-10-31T18:34
 368 2018-10-31T18:35
 227 2018-10-31T18:36
 272 2018-10-31T18:37
 982 2018-10-31T18:38
 164 2018-10-31T18:39
 886 2018-10-31T18:40
 216 2018-10-31T18:41
 920 2018-10-31T18:42
 266 2018-10-31T18:43
 914 2018-10-31T18:44
 213 2018-10-31T18:45
 940 2018-10-31T18:46

A suivre.

Cozy Drive : Application Mac OS : Plus on avance et plus on a de conflict.

Je fais la mise à jours :

Ensuite j’ai listé tous mes fichiers :

$ ls -l -h -R * > list_29102018.txt

Puis j’ai voulu voir si cette mise à jours m’avait ajouter des fichiers conflicts :

 grep « conflict-2018-10-29T20 » list_29102018.txt | wc -l
41

J’ai donc 41 nouveaux fichiers en conflits qui ont étés crées suite à cette mise à jours (logs à disposition !) … je craque . Je pense que Cozy Cloud n’est pas pour moi … c’est une usine a corrompre les noms des fichiers. Je pense que je reviendrais quand cela sera plus stable.

Dans les logs j’ai pu lire :

{"message":"Cannot read property '_rev' of undefined","name":"TypeError","stack":"TypeError: Cannot read property '_rev' of undefined\n    at Remote.moveFileAsync (/Applications/Cozy Drive.app/Contents/Resources/app.asar/core/remote/index.js:208:34)\n    at "}

A noter aussi des erreur du type:

"err":{"message":"{\"errors\":[{\"status\":\"412\",\"title\":\"Precondition Failed\",\"detail\":\"Revision does not match\",\"source\":{\"parameter\":\"If-Match\"}}]}","name":"FetchError","stack":"FetchError: {\"errors\":[{\"status\":\"412\",\"title\":\"Precondition Failed\",\"detail\":\"Revision does not match\",\"source\":{\"parameter\":\"If-Match\"}}]}\n    at handleResponse (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:92:15)\n    at /Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:17:29\nFrom previous event:\n    at /Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:17:17\n    at runCallback (timers.js:781:20)\n    at tryOnImmediate (timers.js:743:5)\n    at processImmediate [as _immediateCallback] (timers.js:714:5)\nFrom previous event:\n    at cozyFetch (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:7:30)\n    at fetchJSON (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:78:10)\n    at cozyFetchJSON (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/fetch.js:53:10)\n    at doUpdateAttributes (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/files.js:186:10)\n    at updateAttributesById (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/files.js:194:10)\n    at Object.prototyped [as updateAttributesById] (/Applications/Cozy Drive.app/Contents/Resources/app.asar/node_modules/cozy-client-js/dist/webpack:/src/index.js:307:12)\n    at RemoteCozy.updateAttributesById (/Applications/Cozy Drive.app/Contents/Resources/app.asar/core/remote/cozy.js:116:30)\n    at Remote.moveFileAsync (/Applications/Cozy Drive.app/Contents/Resources/app.asar/core/remote/index.js:211:63)\n    at "},