[Linux] Sauvegarde de firewall, et pourquoi pas d'autres choses
Antoine Delaporte
adlp@::1
Dim 20 Juil 10:22:16 CEST 2025
De : Marc Chantreux
Envoyé : dimanche 20 juillet 2025 à 9:49 AM UTC+2
> salut Toine,
Coin
> en survolant un peu ton truc, j'ai l'impression qu'on peut faire bien
> plus simple en utilisant les fonctionnalités des outils que tes scripts
> utilisent.
Cela dépend réellement où l'on regarde la simplicité.
Je vais tâcher de reprendre au fil de l'eau
>>> 15 4 * * * cronMutt -s "[BKP\XXXXXXXXX] OpenWrt " -d adlp@::1 -i
>>> rdplanches@::1 -f noreply@::1 -e '
> ssh adlp-rdp-NDF sysupgrade -b /tmp/backup-rdp.tgz &&
> scp adlp-rdp-NDF:/tmp/backup-rdp.tgz &&
> gitar -t /tmp/backup-rdp.tgz -r ssh://git@XXX.XXX.XXX:222/adlp/MiscPersoBkp.git
>
> déjà tu peux virer les && grace à -e
Oui, effectivement, sauf que j'ai pris l'habitude de mettre le set -e
_dans_ un script, pas en oneliner, habitude que j'essaye d'éviter afin
de rendre mes commandes plus lisibles pour moi-même et autrui.
Ainsi que faire des copier-coller aussi long rend la crontab illisible
Ah oui, par expérience, le oneliner c'est une _très_ mauvaise idée en
crontab.
> set -eu
> ssh adlp-rdp-NDF sysupgrade -b /tmp/backup-rdp.tgz
> scp adlp-rdp-NDF:/tmp/backup-rdp.tgz
> gitar -t /tmp/backup-rdp.tgz -r ssh://git@XXX.XXX.XXX:222/adlp/MiscPersoBkp.git
>
> ensuite tu pourrais tenter d'utiliser les stdio
> sysupgrade -b # ca stream l'archive sur stdout ? sinon -b /dev/stdout
(c'est une commande propre à OpenWrt, aujourd'hui, je ne connais plus
tous les paramètres)
Très joli le /dev/stdout ! J'avais l'habitude d'écrire sur le fichier
"-" qui a le même effet, mais qui ne marche pas toujours, tandis que le
/dev/stdout oui... et en plus c'est tellement plus lisible !!!
Merci !!!
> perso j'aurais tendance à tout encapsuler dans l'envoi de mail avec un
> here doc
Alors attention… Nannn ;-D
L'intérêt d'avoir fait gitar et cronMutt, c'est d'avoir 2 boites à
outils ne pas retaper du oneliner systématiquement.
D'ailleurs retaper des oneliners ainsi provoque a la faute.
Regarde plus précisément ce que fait cronMutt (ok... ma doc est
POURRAXE, maintenant que je pense aux autres, tel que toi, dont le coVa
pique les yeux)...
Il faut que je réfléchisse comment documenter ça de façon lisible pour
tout le monde : je n'ai pas envie d'avoir un fichier de doc a coté du
script..... Mais bon dans le script... il faut que cela reste lisible,
sans avoir à installer le script... grmmbll :-D
cronMutt, me génère proprement tous les headers dont j'ai besoin
(notamment le in-reply-to en plus du from), il peut ne pas m'envoyer de
mail si le return code est 0, me mettre des étoiles au sujet pour que ça
me pète à la gueule lorsqu'il y a un return code à 1, stocker le
stdout/stderr sur un nextcloud et je te passe d'autres petits détails.
> <<% mutt -H- toine@::1
> From: robokup
> Subject: backup de $date
> X-ray: ban
> X-touca: c'est bien
>
> $( set -eu; exec 2>&1
> temp=$(mktemp -d)
> trap "rm -rf $temp" EXIT
> git clone --depth=1 ssh://git@XXX.XXX.XXX:222/adlp/MiscPersoBkp.git $temp
> ssh adlp-rdp-NDF sysupgrade -b /dev/stdout | tar xzf - -C $temp
> cd $temp
> git add .
> date=$(date -Is)
> git commit -m "backup du $date"
> git push )
>
> votre pub ici
>
> --
Sinon, l'origine de mon mail n'était pas seulement de commenter ce que
j'avais fait (oui une revue de code est vraiment nécessaire) mais aussi
d'échanger sur tous nos petits outils qui nous dépannent pas mal.
Si pour le code revu on faisait ça de visu... Mais avec une install
vidéo pour partager ca quelque part avec d'autre sur le net ?
Qui saurait faire ca ?
Genre et si on faisait notre review cast en podcast ?
'Toine.
Plus d'informations sur la liste de diffusion linux