scripts / README.md /
Newer Older
77 lines | 4.981kb
ajout du guide pour upgrade_...
Sébastien MARQUE authored on 2017-02-28
1
# Des scripts que j'utilise
2

            
3
Ici il n'y a ques des trucs "récents".
4
Les vieux scripts oubliés, mal écrits (enfin à mon goût plus mal écrits que ceux-ci ;)), ou obsolètes n'y sont pas encore (peut-être bientôt une branche "oldies")
5

            
6
1. [readconf](https://sebmarque.hd.free.fr/git/seb/scripts/raw/master/readconf)  
7
   gawk admin  
8
   pour lire de la conf, est assez flexible
9

            
10
1. [monitoring](https://sebmarque.hd.free.fr/git/seb/scripts/raw/master/monitoring) (et monitoring.d/)  
11
   bash admin  
12
   pour faire du monitoring
13

            
14
1. [menuadm](https://sebmarque.hd.free.fr/git/seb/scripts/raw/master/readconf)  
15
   bash admin  
16
   pour gérer les accès à certaines ressources, et proposer un menu d'administration
17

            
18
1. [smsapi](https://sebmarque.hd.free.fr/git/seb/scripts/raw/master/smsapi)  
19
   bash Free  
20
   pour envoyer des SMS depuis la freebox vers le numéro FreeMobile associé
21

            
22
1. [colors](https://sebmarque.hd.free.fr/git/seb/scripts/raw/master/colors)  
23
   bash  
24
   juste pour afficher les codes couleurs pour rendre plus joli de la sortie terminal
25

            
26
1. [checkmusic](https://sebmarque.hd.free.fr/git/seb/scripts/raw/master/checkmusic)  
27
   python  
28
   vérifie que les tags des fichiers musicaux seront bien lus par cherrymusic
29

            
30
1. [printer](https://sebmarque.hd.free.fr/git/seb/scripts/raw/master/printer)  
31
   bash SNMP  
32
   récupère des infos sur une imprimante via SNMP
33

            
34
1. [thumbnails](https://sebmarque.hd.free.fr/git/seb/scripts/raw/master/thumbnails)  
35
   bash ImageMagick Piwigo  
36
   crée des vignettes de toutes les tailles pour les galeries photos, pratique sur un raspberry pour éviter la génération à la demande qui ralenti le visonnage des galeries
37

            
38
1. [upgrade_status](https://sebmarque.hd.free.fr/git/seb/scripts/raw/master/upgrade_status)  
39
   awk debian admin  
40
   affiche l'état des mises à jour sur une machine debian
41

            
42
# Guides d'utilisation
43
   tous les scripts peuvent prendre un autre nom que celui fourni, et ils peuvent être installés n'importe où, ce n'est pas un problème.
44

            
45
## readconf
46
   `readconf help` pour afficher l'aide dans le pager
47

            
48
## monitoring
tentative d'index(3)
Sébastien MARQUE authored on 2017-02-28
49
   * Le script est un moteur _bash_ qui `source` les fichiers passés en paramètres, ou ceux par défaut, contenus dans un ou plusieurs répertoires.  Pour le moment ces répertoires sont fixés et dépendent du nom du script (`${basename}`), dans l'ordre:  
tentative d'index(5)
Sébastien MARQUE authored on 2017-02-28
50
       1. `$HOME/.config/${basename}`  
51
       2. `${0}.d`  
52
       3. `/usr/local/share/${basename}`
modification monitoring (3)
Sébastien MARQUE authored on 2017-02-28
53
   * Les fonctions ne commençant pas par un caractère alphabétique sont ignorées, et toutes celles commençant par un caractère alphanumérique sont exécutées les unes après les autres, sans ordre défini. Pour exécuter les fontions dans un ordre précis il suffit de les préfixer par *underscore* et de les lister dans une fonction qui sera exécutée.  
54
   * fonctions prédéfinies:
ajout de smsapi
Sébastien MARQUE authored on 2017-02-28
55
    * `_turns <modulo>` : permet de ne lancer la fonction que tous les *modulo* tours
56
    * `_load fichier [fichier [fichier...]]` : permet de sourcer de la configuration supplémentaire
ajout du guide pour upgrade_...
Sébastien MARQUE authored on 2017-02-28
57
   * Le code de sortie est ignoré, seule la sortie standard de chaque fonction exécutée est prise en compte (via `echo` ou `printf` par exemple).  
modification monitoring (3)
Sébastien MARQUE authored on 2017-02-28
58
   * Les messages collectés sont rassemblés en un message unique hiérarchisé qui reprend les informations sur les fichiers sourcés, la fonction qui génère le message reporté, et le message lui-même, formatté pour un envoi par SMS (cf. smsapi).  
59
   * Si aucun message n'est apparu depuis 24h après le dernier envoi d'alerte le plus ancien alors rien n'est envoyé, mais il est possible d'obtenir toutes les alertes actuelles sur la sortie standard (sans formattage SMS).
ajout du guide pour upgrade_...
Sébastien MARQUE authored on 2017-02-28
60

            
61
## upgrade_status
62
   * affiche le résultat des mouvements de paquets gérés par dpkg (erreurs, mises-à-jour, suppression, ajout, ...)
63
   * `upgrade_status [[-]stdin] [date] [help]`
64
   * `-stdin` ou `stdin` pour lire les entrées depuis un autre fichier que `/var/log/dpkg.log`  
ajout du guide pour upgrade_...
Sébastien MARQUE authored on 2017-02-28
65
   exemple:  `zcat /var/log/dpkg.log.3.gz | upgrade_status stdin 2016-12-03`
ajout du guide pour upgrade_...
Sébastien MARQUE authored on 2017-02-28
66
   * date sous la forme **yyyy-mm-dd**, si aucune date n'est fournie prend la date du jour
67
   * chaque nom de paquet est préfixé par ` -> `
68
   * ne gère pas encore correctement la suppression de résidus de configuration (perçue comme une erreur)
ajout de smsapi
Sébastien MARQUE authored on 2017-02-28
69

            
70
## smsapi
ajout de smsapi (2)
Sébastien MARQUE authored on 2017-02-28
71
   * ne fonctionne qu'avec Freebox (et Freemobile ?)
72
   * la configuration tient dans un fichier sourcé par le script, au format bash:
73
    * `ID=` identifiant
74
    * `PASS=` mot de passe (foruni par la console de gestion du compte freebox
75
    * `HSUP=` nombre compris entre 1 et 23 définissant l'heure au-delà de laquelle l'envoi sera reporté à HINF.
76
    l'envoi ne se fera pas exactement à partir de $HINF, mais selon un algorithme qui permet de répartir sur plusieurs minutes les éventuels multiples envois pour ne pas se faire bloquer par l'API de Free
77
    * `HINF=` nombre compris entre 0 et 22 définissant l'heure à partir de laquelle l'envoi est immédiat