103 lines
2.4 KiB
Markdown
103 lines
2.4 KiB
Markdown
---
|
|
categories: utilities sysadmin storage
|
|
title: Howto Duc
|
|
...
|
|
|
|
* Documentation : <https://rawgit.com/zevv/duc/master/doc/duc.1.html>
|
|
|
|
[Duc](http://duc.zevv.nl) est un logiciel qui permet d'analyser l'espace disque en créant un indexe, que l'on pourra ensuite visualiser avec une interface texte, console ncurses, un graphique, un GUI ou en CGI.
|
|
|
|
## Installation
|
|
|
|
Un paquet est disponible à partir de Debian Stretch.
|
|
|
|
```
|
|
# apt install duc
|
|
```
|
|
|
|
## Utilisation
|
|
|
|
Quelques exemples :
|
|
|
|
Lancer une indexation de /backup/jails :
|
|
|
|
|
|
- `-H` : Compter les mêmes inodes une seule fois ;
|
|
- `-e` <regex> : Exclure les fichiers correspondant (ne correspond que au nom du fichier et non de son PATH complet) ;
|
|
- `-p` : Affiche la progression de l'indexation.
|
|
|
|
~~~
|
|
# duc index -p -H -e "*.log*" -d /backup/duc.idx /backup/jails
|
|
# duc index -p -H -d /backup/duc.idx /backup/jails
|
|
~~~
|
|
|
|
Pour exclure un répertoire (./backup/ contenant de nombreux fichiers), se placer dessus par exemple et faire :
|
|
|
|
~~~
|
|
# duc index -p -e "backup" -d duc.idx .
|
|
~~~
|
|
|
|
On peut tout aussi bien ajouter dans l'indexe, éléments par éléments, qui peuvent même être indépendant les uns des autres (hiérarchie du système de fichier) :
|
|
|
|
~~~
|
|
# duc index -d duc.idx /var/foo/
|
|
# duc index -d duc.idx /usr/bar/
|
|
~~~
|
|
|
|
Exemple, analyser /backup, avec un index dans /home :
|
|
|
|
~~~
|
|
# duc index -p -d /home/duc_backup.idx /backup
|
|
~~~
|
|
|
|
Afficher l'espace disque avec l'interface ncurses. (q pour quitter, flèche directionnelles pour naviguer).
|
|
|
|
~~~
|
|
# duc ui -d /backup/duc.idx /backup/jails
|
|
~~~
|
|
|
|
![Interfaces ncurses](/duc.png)
|
|
|
|
Afficher l'espace disque avec un « ls like ».
|
|
|
|
~~~
|
|
# duc ls -d /backup/duc.idx -Fg /backup/jails/
|
|
~~~
|
|
|
|
Générer un graphique :
|
|
|
|
~~~
|
|
# duc graph -d /backup/duc.idx -o /tmp/duc.png -l8 -s 1920 /backup/jails/
|
|
~~~
|
|
|
|
### En CGI
|
|
|
|
Il suffit de créer ce script sh dans `/usr/lib/cgi-bin/duc.cgi`, de donner les bons droits et d'y accéder.
|
|
|
|
~~~
|
|
#!/bin/sh
|
|
/usr/bin/duc cgi -d /backup/duc.idx --list
|
|
~~~
|
|
|
|
~~~
|
|
# chmod 755 /usr/lib/cgi-bin/duc.cgi
|
|
# chown www-data: /usr/lib/cgi-bin/duc.cgi
|
|
# chmod 640 /backup/duc.idx
|
|
# chgrp www-data /backup/duc.idx
|
|
~~~
|
|
|
|
#### Apache
|
|
|
|
Apache traite les CGI par défaut dans cgi-bin, il n'y a donc rien à faire.
|
|
|
|
#### NginX
|
|
|
|
À priori impossible à part avec un wrapper CGI…
|
|
|
|
### Cron
|
|
|
|
Cron d'indexation journalier.
|
|
|
|
~~~
|
|
30 6 * * * duc index -q -d /backup/duc.idx /backup/jails && chmod 640 /backup/duc.idx && chgrp www-data /backup/duc.idx
|
|
~~~ |