usbbackup:backups_automatiques_sur_disque_usb_insere
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| usbbackup:backups_automatiques_sur_disque_usb_insere [2021/11/09 14:51] – créée ghusson | usbbackup:backups_automatiques_sur_disque_usb_insere [2024/08/28 07:51] (Version actuelle) – ghusson | ||
|---|---|---|---|
| Ligne 8: | Ligne 8: | ||
| < | < | ||
| - | ACTION==" | + | ACTION==" |
| </ | </ | ||
| - | |||
| Ligne 25: | Ligne 24: | ||
| #!/bin/bash | #!/bin/bash | ||
| # apt install beep udisks2 | # apt install beep udisks2 | ||
| - | + | ||
| + | |||
| + | LOG_FILE=$0.log | ||
| + | # CHANGEME :::: | ||
| + | PARTITION_LABEL=" | ||
| + | MOUNT_POINT="/ | ||
| + | RSYNC_PATHS[0]="/ | ||
| + | RSYNC_PATHS[1]="/ | ||
| + | RSYNC_PATHS[2]="/ | ||
| + | RSYNC_PATHS[3]="/ | ||
| + | |||
| + | |||
| horoDate() | horoDate() | ||
| { | { | ||
| echo $(date " | echo $(date " | ||
| } | } | ||
| + | |||
| + | |||
| function uptime_int() | function uptime_int() | ||
| { | { | ||
| Ligne 50: | Ligne 60: | ||
| fi | fi | ||
| } | } | ||
| + | |||
| + | | ||
| errorBeep() | errorBeep() | ||
| { | { | ||
| beep -f 220 -l 800 -d 200 -r 4 | beep -f 220 -l 800 -d 200 -r 4 | ||
| } | } | ||
| + | |||
| + | |||
| tooSoonBeep() | tooSoonBeep() | ||
| { | { | ||
| beep -f 1600 -l 100 -d 20 -r 4 | beep -f 1600 -l 100 -d 20 -r 4 | ||
| } | } | ||
| - | + | ||
| - | + | ||
| victoryBeep() | victoryBeep() | ||
| { | { | ||
| Ligne 93: | Ligne 104: | ||
| -n -f 1047 -l 1000 | -n -f 1047 -l 1000 | ||
| } | } | ||
| + | |||
| - | + | echo " | |
| - | + | echo " | |
| - | LOG_FILE=$0.log | + | |
| - | PARTITION_LABEL=" | + | |
| - | MOUNT_POINT="/ | + | |
| - | RSYNC_PATHS[0]="/ | + | |
| - | RSYNC_PATHS[1]="/ | + | |
| - | RSYNC_PATHS[2]="/ | + | |
| - | RSYNC_PATHS[3]="/ | + | |
| - | + | ||
| - | echo " | + | |
| - | echo " | + | |
| if [ $(uptime_int) -lt 120 ]; then | if [ $(uptime_int) -lt 120 ]; then | ||
| echo " | echo " | ||
| Ligne 112: | Ligne 114: | ||
| exit 1 | exit 1 | ||
| fi | fi | ||
| - | + | ||
| + | |||
| if [ -e / | if [ -e / | ||
| echo " | echo " | ||
| Ligne 121: | Ligne 123: | ||
| for RSYNC_PATH in ${RSYNC_PATHS[*]}; | for RSYNC_PATH in ${RSYNC_PATHS[*]}; | ||
| echo " | echo " | ||
| - | rsync -aAX " | + | rsync -aAX --delete --delete-before |
| done | done | ||
| - | sync | ||
| - | sync | ||
| echo " | echo " | ||
| sync | sync | ||
| sync | sync | ||
| umount $MOUNT_POINT >> $LOG_FILE 2>&1 | umount $MOUNT_POINT >> $LOG_FILE 2>&1 | ||
| - | #umount "/ | ||
| - | #udisksctl unmount --block-device "/ | ||
| sync | sync | ||
| sync | sync | ||
| + | echo " | ||
| + | echo -e " | ||
| + | victoryBeep | ||
| udisksctl power-off --block-device $(readlink -f "/ | udisksctl power-off --block-device $(readlink -f "/ | ||
| - | #udisksctl power-off --block-device "/ | ||
| - | #udisksctl power-off --block-device "/ | ||
| - | echo -e " | ||
| - | victoryBeep | ||
| exit 0 | exit 0 | ||
| else | else | ||
| echo " | echo " | ||
| - | echo -e " | + | echo -e " |
| errorBeep | errorBeep | ||
| exit 2 | exit 2 | ||
| Ligne 147: | Ligne 144: | ||
| else | else | ||
| echo " | echo " | ||
| - | echo -e " | + | echo -e " |
| errorBeep | errorBeep | ||
| exit 3 | exit 3 | ||
| - | fi | + | |
| </ | </ | ||
| Ligne 157: | Ligne 154: | ||
| - | ===== Changer | + | ===== Ajouter |
| - | + | ||
| - | Si on ne fait pas ça, il est alors impossible d' | + | |
| - | systemctl edit systemd-udevd | + | systemctl edit --full --force usb_backup\@.service |
| Mettre : | Mettre : | ||
| < | < | ||
| + | |||
| + | [Unit] | ||
| + | Description=Backup to USB Flash Disk | ||
| + | BindsTo=dev-%i.device | ||
| [Service] | [Service] | ||
| - | PrivateMounts=no | + | Type=simple |
| + | ExecStart=/ | ||
| </ | </ | ||
| Ligne 176: | Ligne 176: | ||
| < | < | ||
| systemctl daemon-reload | systemctl daemon-reload | ||
| + | udevadm control --reload-rules && udevadm trigger | ||
| systemctl restart systemd-udevd | systemctl restart systemd-udevd | ||
| </ | </ | ||
| + | |||
| + | |||
| + | Pour créer un disque de backup : | ||
| + | * faire une table de partition GPT | ||
| + | * créer 1 partition de type Linux, avec le label correspondant à $PARTITION_LABEL | ||
| + | * formater la partition | ||
| + | * tester | ||
| + | |||
usbbackup/backups_automatiques_sur_disque_usb_insere.1636469485.txt.gz · Dernière modification : 2021/11/09 14:51 de ghusson