Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Un script shell avec menu pour le choix d'une automatisation de la sauvegarde d'un dossier sur un support externe.

License

Notifications You must be signed in to change notification settings

SKOHscripts/linux_rsync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

28 Commits

Repository files navigation

linux-rsync

support

Système de Sauvegarde Automatisé avec Rsync et Intégration Cron

Solution robuste pour la synchronisation et la sauvegarde de répertoires sous Linux, avec gestion avancée des exclusions, journalisation détaillée et intégration transparente avec cron.

Fonctionnalités Clés

  • Sauvegarde incrémentielle avec rsync pour une efficacité optimale
  • Planification automatique via cron avec gestion des variables d'environnement graphique
  • Journalisation complète avec rotation automatique des logs
  • Notifications visuelles (zenity) et système (systemd-cat)
  • Exclusions intelligentes des répertoires temporaires, caches et environnements de développement
  • Gestion des erreurs détaillée avec codes de sortie explicites

Installation

git clone https://github.com/votre-utilisateur/linux_rsync.git
cd linux_rsync
chmod +x automate.sh

Utilisation Basique

./automate.sh -s /chemin/source -d /chemin/destination

Options Principales

Option Description
-s Répertoire source à sauvegarder (obligatoire)
-d Destination de la sauvegarde (obligatoire)
-c Activer la planification cron toutes les 12h
-h Afficher l'aide

Configuration Avancée

Exclusions Types

--exclude="/node_modules/" --exclude="/pycache/" --exclude="**/.idea/"

Liste complète des modèles d'exclusion dans le script source

Variables d'Environnement

export DISPLAY=:0 # Pour les notifications graphiques
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus

Gestion des Journaux

Fichier Description
backup.log Journal principal des opérations
rsync_*.log Logs détaillés par session rsync
Rotation automatique après 7 jours
find "${DESTINATION}" -name "rsync_*.log" -mtime +7 -delete

Intégration Cron

Pour activer les sauvegardes planifiées :

./automate.sh -s /home/user -d /backup -c

Commande cron générée :

0 */12 * * * /bin/bash -c 'export $(cat /proc/$(pgrep -u $USER gnome-session | head -1)/environ | tr "0円" "\n" | grep -E "DISPLAY|DBUS_SESSION_BUS_ADDRESS")' && /chemin/absolu/automate.sh -s /home/user -d /backup

Dépannage

Erreurs Courantes

  1. Permissions insuffisantes
chmod 700 /chemin/destination
  1. Dépendances manquantes Installer rsync et zenity :
sudo apt install rsync zenity
  1. Problèmes d'environnement cron Vérifier les variables DISPLAY/DBUS avec :
env | grep -E 'DISPLAY|DBUS'

Contribution

Les contributions sont les bienvenues via pull requests. Merci de respecter les guidelines :

  • Tests sur multiples distributions Linux
  • Documentation mise à jour
  • Validation ShellCheck

Licence

GPL-3.0 - Voir le fichier LICENSE


Compatibilité : Testé sur Debian 12, EndeavourOS (2025年02月08日, Mercury) based on Arch Linux Dépendances : rsync >= 3.2.3, zenity >= 3.32.0, systemd >= 247

About

Un script shell avec menu pour le choix d'une automatisation de la sauvegarde d'un dossier sur un support externe.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /