Un utilisateur avait utilisé la sauvegarde de FileCloud pour archiver des milliers de courriels… L’utilisateur parti de l’entreprise, je décidais de supprimer cette sauvegarde tout en gardant l’utilisateur générique. Le problème ? L’interface de FileCloud, même en version 19, continue d’être longue à supprimer des centaines, et même ici des milliers de fichiers, quand elle ne décide pas de tourner dans le vide et de ne… rien faire. Nous utiliserons donc la ligne de commande pour accélérer la suppression de ces milliers de courriels. Filecloud utilise la fameuse et performante base de données Mongo. Le serveur FileCloud est ici hébergé dans une machine virtuelle Parallels. J’ai volontairement laissé certaines lignes de commande afin que cela puisse être compris et j’ai même fait des listes afin de montrer l’intérieur des dossiers. Enfin j’ai ôté des lignes de texte inintéressantes et les plus avisés d’entre vous verront que je fais certaines commandes pour vérifier s’il n’y a pas des transferts en cours susceptibles de corrompre un fichier.
Inutile de préciser que ces commandes sont à utiliser avec une précaution infinie !
root@parallels-Parallels-Virtual-Platform:~# cd /var/www/html/scratch
root@parallels-Parallels-Virtual-Platform:/var/www/html/scratch# ls
autobackups logs tmp
root@parallels-Parallels-Virtual-Platform:/var/www/html/scratch# cd logs
root@parallels-Parallels-Virtual-Platform:/var/www/html/scratch/logs# ll
total 16972
drwxr-xr-x 2 www-data www-data 4096 nov. 28 07:00 ./
drwxr-xr-x 5 www-data www-data 4096 nov. 18 08:20 ../
-rw-r–r– 1 www-data www-data 106263 nov. 28 15:50 log_2019-11-28.txt
root@parallels-Parallels-Virtual-Platform:/var/www/html/scratch/logs# tail -f log_2019-11-28.txt
/var/www/html/core/index.php(31): core\framework\TonidoCloudServer->execute()
/var/www/html/core/framework/storagepathengine.class.php(1872): core\framework\StorageWrapper->getFileList(‘/theuser/recyc…’, NULL, NULL, Array)
/var/www/html/core/framework/filemanager.class.php(484): core\framework\StoragePathEngine->getFileList(‘/theuser/recyc…’, », », ’10’, ‘0’, ‘theuser’, ‘name’, 1, true, »)
^C
root@parallels-Parallels-Virtual-Platform:/var/www/html/scratch/logs# mongo
MongoDB shell version v3.6.14
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { « id » : UUID(« 6ae59758-9082-4d66-aba3-f2fc75471a31 ») }
MongoDB server version: 3.6.14
show dbs
admin 0.000GB
config 0.000GB
fcbackup 0.009GB
local 0.000GB
use tonidoclouddb
switched to db tonidoclouddb
show collections
accesstokens
acls
activity
background_queue
background_queue_parallel
backuprecords…
db.background_queue.count()
0
db.background_queue_parallel.count()
0
exit
bye
root@parallels-Parallels-Virtual-Platform:/var/www/html/scratch/logs# cd ../../
root@parallels-Parallels-Virtual-Platform:/var/www/html# cd resources/tools/fileutils/
root@parallels-Parallels-Virtual-Platform:/var/www/html/resources/tools/fileutils# ls
bulkopdatastore.class.php emptyrecyclebin.php exportfs.php logger.class.php rmutil.php txfilesanddeleteaccount.php
root@parallels-Parallels-Virtual-Platform:/var/www/html/resources/tools/fileutils# php rmutil.php -h default -u theuser -p /theuser/recyclebin/ -r
Looking at host: default
Delete
Deleting directory /theuser/recyclebin//backups -> /thesuer/recyclebin//backups