grosse réorganisation

This commit is contained in:
Benoît S. 2018-03-02 10:14:57 +01:00
parent ebcb02e7f4
commit ebd0416f0c

View file

@ -17,6 +17,109 @@ Un paquet est disponible à partir de Debian Stretch.
## Utilisation
### Création de l'indexe
La première chose à faire est de créer un indexe, c'est la partie qui analyse l'espace disque pour ensuite l'afficher de différentes manières. Par défaut l'indexe sera crée dans `$HOME/.duc.db`, si l'on veut changer le chemin de l'indexe il faudrait utiliser la variable d'environnement `DUC_DATABASE` ou spécifier le chemin avec `-d`.
L'indexe n'est pas forcément rattaché à un seul chemin, on peut en indexer autant qu'on veut :
~~~
$ duc index -d /tmp/duc.idx /var/
$ duc index -d /tmp/duc.idx /usr/
~~~
### Consulter l'indexe
#### Voir les informations de l'indexe
~~~
$ duc info -d /tmp/duc.idx
Date Time Files Dirs Size Path
2018-03-02 09:49:38 22.5K 2.4K 2.2G /var
2018-03-02 09:49:42 268.0K 24.1K 8.2G /usr
~~~
#### Lister le contenu de l'indexe
~~~
$ duc ls -d /tmp/duc.idx /usr
4.3G lib
3.0G share
606.2M bin
210.5M src
66.4M include
35.3M sbin
20.1M local
6.4M lib32
2.2M libexec
1.7M games
4.0K etc
$ duc ls -d /tmp/duc.idx /usr/bin/ | head
29.9M hkt
28.3M hokey
24.2M node
19.6M hot
17.0M shellcheck
15.7M mysql_embedded
14.7M fwbuilder
11.6M audacity
11.1M rawtherapee
10.4M qemu-system-x86_64
$ duc ls -d /tmp/duc.idx /var/log | head
197.2M atop
30.4M daemon.log.1
24.1M daemon.log
17.1M installer
5.4M syslog.1
2.7M messages.1
2.4M vbox-install.log
2.1M syslog
1.9M kern.log.1
1.7M ufw.log.1
~~~
#### Lister le contenu de l'indexe avec une interface ncurses
L'interface ncurses est semblable à celle de ncdu. La touche `h` permettra d'afficher l'aide pour comprendre comment naviguer et interagir avec cette interface.
~~~
# duc ui -d /tmp/duc.idx /usr
~~~
![Interfaces ncurses](/duc.png)
#### Lister le contenu de l'indexe avec une interface graphique
Si on est sur un poste ayant un serveur X (ou en `ssh -X`), on pourra utiliser cette interface et utiliser la souris.
~~~
$ duc gui -d /tmp/duc.idx /usr
~~~
![Le GUI de Duc](/duc2.png)
#### Lister le contenu de l'indexe avec un script 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
~~~
Il faudra ensuite utiliser un serveur Web comme [HowtoApache](Apache) pour y accéder.
### Plomberie
Quelques exemples :
Lancer une indexation de /backup/jails :
@ -37,27 +140,12 @@ Pour exclure un répertoire (./backup/ contenant de nombreux fichiers), se place
# 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 ».
~~~
@ -70,33 +158,9 @@ 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.
Il peut être judicieux de créer un cron pour faire une indexation journalière, très pratique quand couplé avec l'interface CGI.
~~~
30 6 * * * duc index -q -d /backup/duc.idx /backup/jails && chmod 640 /backup/duc.idx && chgrp www-data /backup/duc.idx