log-rotation-usb-storage.sh

Banana Pi BPI-RT2 : Carte routeur WiFi 6 AX3000 · Fichier : log-rotation-usb-storage.sh · Langage : Bash · Usage : Archiver les logs système sur un disque USB 3.0 pour éviter la saturation de la Flash NAND.

Script de rotation de logs déplaçant les fichiers système vers un stockage USB externe.

La BPI-RT2 possède une Flash NAND limitée (128 Mo). Ce script utilise le port USB 3.0 pour stocker les logs. Configurez le montage automatique via /etc/fstab ou un script udev. Planifiez l'exécution via crontab (ex: @daily). Assurez-vous que les permissions d'écriture sont correctes sur le volume USB.

log-rotation-usb-storage.sh

#!/bin/sh
# Rotation des logs vers USB pour BPI-RT2

USB_MOUNT="/mnt/sda1"
LOG_DIR="/var/log"
TARGET_DIR="$USB_MOUNT/logs"

# Montage automatique (à adapter selon fstab ou auto-mount)
if [ ! -d "$USB_MOUNT" ]; then
    mkdir -p "$USB_MOUNT"
    mount /dev/sda1 "$USB_MOUNT"
fi

if [ -d "$TARGET_DIR" ]; then
    echo "$(date): Rotation des logs..." >> "$TARGET_DIR/rotation.log"
    
    # Copie des logs critiques
    cp "$LOG_DIR/messages" "$TARGET_DIR/messages.$(date +%Y%m%d)"
    cp "$LOG_DIR/system.log" "$TARGET_DIR/system.$(date +%Y%m%d)" 2>/dev/null
    
    # Compression et nettoyage local (libère la Flash)
    gzip "$TARGET_DIR/messages.$(date +%Y%m%d)"
    rm -f "$LOG_DIR/messages.old"
    mv "$LOG_DIR/messages" "$LOG_DIR/messages.old"
    touch "$LOG_DIR/messages"
    
    echo "Rotation terminée." >> "$TARGET_DIR/rotation.log"
else
    echo "Erreur: Répertoire cible non trouvé sur USB."
fi

← Retour à la fiche