#!/bin/bash

#  Sauvegarde dans une archive tar compressée tous les fichiers
#+ du répertoire courant modifiés dans les dernières 24 heures.

FICHIERARCHIVE=archive-$(date +%m-%d-%Y)
#                 Intégration de la date dans le nom du fichier de sauvegarde.
#                 Merci pour cette idée, Joshua Tschida.
archive=${1:-$FICHIERARCHIVE}
#  Si aucun nom de fichier n'est spécifié sur la ligne de commande,
#+ le script utilisera "archive-MM-JJ-AAAA.tar.gz par défaut."

tar cvf - `find . -mtime -1 -type f -print` > $archive.tar
gzip $archive.tar
echo "Répertoire $PWD sauvegardé dans un fichier archive \"$archive.tar.gz\"."

#  Stephane Chazelas indique que le code ci-dessus échoue s'il trouve
#+ trop de fichiers, ou si un des noms de fichier contient des blancs.

# Il suggère d'utiliser plutôt&nbsp;:
# -------------------------------------------------------------------
#   find . -mtime -1 -type f -print0 | xargs -0 tar rvf "$archive.tar"
#         avec la version GNU de "find".

#   find . -mtime -1 -type f -exec tar rvf "$archive.tar" '{}' \;
#         portable sur les autres UNIX, mais plus lent.
# -------------------------------------------------------------------

exit 0
