log-rotation-usb-storage.sh
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