Table des matières
- 2026:
- 2025:
8 billet(s) pour mars 2026
| Notes conteneurs oras artifact OCI | 2026/03/23 21:13 | Jean-Baptiste |
| Notes podman secret | 2026/03/23 15:10 | Jean-Baptiste |
| Notes ansible podman | 2026/03/23 14:08 | Jean-Baptiste |
| Notes podman volume | 2026/03/23 14:00 | Jean-Baptiste |
| Find list - Trouver des fichiers à partir d'une liste | 2026/03/18 14:32 | Jean-Baptiste |
| AWX inventaire vault | 2026/03/17 18:04 | Jean-Baptiste |
| AWX - Configuration git en local (sans serveur web) | 2026/03/05 16:24 | Jean-Baptiste |
| OpenSMTP | 2026/03/03 16:58 | Jean-Baptiste |
Notes script bash
Voir
Voir aussi :
- tinyramfs (implémentation initramfs écrite en shell POSIX
Variables
Fichier dans une variable - variable heredoc
ETCHOSTS=$(cat << 'EOF' 10.245.97.221 node1 10.245.102.221 node1b EOF )
Les boucles
Voir aussi :
- Les commandes Xargs et Find qui peuvent être des alternatives aux boucles
For
for (( i=1; $i<=10; i=i+1 )) do echo $i done
Voir exemple avec seq ci-dessous
seq
#for i in $(seq 10) for i in $(seq 1 10) do echo $i done
for i in {1..5} do echo $i done
seq -f "%f" 3 0.8. 6
seq -f "%g/04/2018" 10
seq -s - 8
pb curl break
fic.lst
foo bar
plop_sleep.sh
#! /bin/bash while read -r var do echo $var timeout 1 sleep inf done < fic.lst
plop_curl.sh
#! /bin/bash while read -r var do echo $var timeout 1 curl -s telnet://localhost:22 done < fic.lst
$ ./plop_sleep.sh foo bar $ ./plop_curl.sh foo
Contournement
plop_curl_2.sh
#! /bin/bash while read -r var do echo $var echo timeout 1 curl -s telnet://localhost:22 | bash -s -- done < fic.lst
Vraie solution
plop_curl_2.sh
#! /bin/bash while read -r var do echo $var timeout 1 curl -s telnet://localhost:22 </dev/null done < fic.lst
Gérer les locks
flock -n /tmp/plop.lock -c /opt/plop1.sh -c /opt/plop2.sh
bash Options
Bash suid binary privilege escalation
sudo cp -p /usr/bin/bash /usr/bin/bash-backdoor sudo chmod u+s /usr/bin/bash-backdoor /usr/bin/bash-backdoor -p
Notes scp
Voir :
Voir aussi :
- sftp
Remote to remote
#scp -3 -P 2222 ruser1@rhost1:/rpath/1 scp://ruser2@rhost2:2222//rpath/2 # Chemin absolut scp -3 scp://ruser1@rhost1:2222//rpath/1 scp://ruser2@rhost2:2222//rpath/2 # Chemin relatif scp -3 scp://ruser1@rhost1:2222/rpath/1 scp://ruser2@rhost2:2222/rpath/2
Scp avec Windows
sshpass -e scp -P 2222 administrateur@192.168.1.20:c:/Temp/plop.txt /tmp
Notes scanner sane
Voir simple-scan, xsane,
apt-get install simple-scan
Pb
Pb 1
# lsusb |grep -i scanner Bus 002 Device 004: ID 07b3:0413 Plustek, Inc. OpticSlim 1200 Scanner
# sane-find-scanner # sane-find-scanner will now attempt to detect your scanner. If the # result is different from what you expected, first make sure your # scanner is powered up and properly connected to your computer. # No SCSI scanners found. If you expected something different, make sure that # you have loaded a kernel SCSI driver for your SCSI adapter. could not fetch string descriptor: Pipe error could not fetch string descriptor: Pipe error found USB scanner (vendor=0x07b3, product=0x0413 [600dpi USB Scanner], chip=GT-6816) at libusb:002:004 # Your USB scanner was (probably) detected. It may or may not be supported by # SANE. Try scanimage -L and read the backend's manpage. # Not checking for parallel port scanners. # Most Scanners connected to the parallel port or other proprietary ports # can't be detected by this program.
# scanimage -L device `gt68xx:libusb:002:004' is a Plustek OpticSlim 1200 flatbed scanner
Solution
Source https://forum.ubuntu-fr.org/viewtopic.php?id=1080701
wget https://bugs.archlinux.org/task/20374\?getfile\=5563 -O cism216.fw mkdir /usr/share/sane/gt68xx/ cp cism216.fw /usr/share/sane/gt68xx/ chmod -R a=rwX /usr/share/sane/gt68xx
cp -p /etc/sane.d/gt68xx.conf{,.orig} vim /etc/sane.d/gt68xx.conf
Il faut ajouter les lignes suivantes :
override "plustek-opticslim-1200" firmware "/usr/share/sane/gt68xx/cism216.fw"
Ça doit ressembler à
- /etc/sane.d/gt68xx.conf
############################################################################## # Autodetect Plustek OpticSlim 1200 usb 0x07b3 0x0413 override "plustek-opticslim-1200" firmware "/usr/share/sane/gt68xx/cism216.fw"
Pb 2
$ scanimage -L device `escl:http://127.0.0.1:60000' is a HP DeskJet 3630 series [9BE284] (USB) flatbed scanner device `hpaio:/usb/DeskJet_3630_series?serial=CN5CS2H5YV067P' is a Hewlett-Packard DeskJet_3630_series all-in-one $ scanimage -T -d escl:http://127.0.0.1:60000 Output format is not set, using pnm as a default. scanimage: open of device escl:http://127.0.0.1:60000 failed: Out of memory $ scanimage -T -d 'hpaio:/usb/DeskJet_3630_series?serial=CN5CS2H5YV067P' Output format is not set, using pnm as a default. scanimage: open of device hpaio:/usb/DeskJet_3630_series?serial=CN5CS2H5YV067P failed: Error during device I/O
Solution
sudo systemctl disable --now ipp-usb.service sudo systemctl mask ipp-usb.service
Notes sauvegardes
Liste de solution :
- Burp
- burp-ui
- Bacula
- Bareos (fork de Bacula)
- Rear
- Mondorescue
- rsync
- rsnapshot
- rdiff-backup
- zpaq
Liens :
Notes
Il faut considérer deux types de sauvegarde :
- En mode bloc
- En mode ficher
Pour restaurer un serveur qui tombe on utilise en général le mode bloc. La sauvegarde en mode bloc peut se faire par disque ou par partition. Dans le second cas il est nécessaire de sauvegarder la table des partitions. Elle peut-être de deux types : MBR et GPT.
Concernant la sauvegarde en mode fichier, dont il semble être question ici :
Il faut sauvegarder toutes les partitions locales mais exclure le swap et les partitions pseudo-fs tel que dev, sys, proc, debugfs, tmpfs, configfs, etc… En gros les partition affichées avec lsblk -fm et qui sont montées.
Des optimisations et des choix peuvent être fait comme ignorer les fichiers cores dump et certains dossiers tel que /tmp, /var/tmp, /var/cache/, inclure ou non les partitions applicatives…
D’autres éléments doivent être considérés tel que :
- Impacte performance / accessibilité pendant la sauvegarde
- La nature de ce qui doit être sauvegardé (on ne sauvegarde pas une base de donnée en fonctionnement en copiant un à un des fichiers des tablesspaces)
- Intégrité de la sauvegarde. Parce que entre le début et la fin de la sauvegarde l’état des fichiers sur disque peut avoir changé
- snapshot LVM ou autres avant copie des fichiers ?
- Préserver certaines méta données tel que les droits POSIX, ACL, contexte SELinux…
- Choix de préserver ou nom les atime, mtime, ctime
