backup.sh
#!/bin/sh -u
#Définissez le répertoire actuel à l'emplacement du script
cd `dirname $0`
#Obtenir l'heure de début du traitement
todaydatetime="date '+%Y-%m-%d %H:%M:%S'"
echo "Effectuer le traitement des fichiers de sauvegarde"
eval $todaydatetime
#Commencer à mesurer le temps de traitement
SECONDS=0
#Cible de sauvegarde
TARGET_DIR='/home/origin'
#Répertoire pour stocker les fichiers de sauvegarde
backupdirpath="/home/backup"
##Vérification de l'existence du répertoire
if [ -d ${backupdirpath} ]; then
#Si le répertoire de sauvegarde existe
#Afficher la liste des fichiers stockés
ls -lrth ${backupdirpath}
else
echo "Il n'y a pas de répertoire de sauvegarde. Le processus se termine."
eval $todaydatetime
exit 1
fi
#Définir le nom du fichier de sauvegarde(* Assurez-vous de connaître la date par le nom du fichier.)
BACKUP_FILE_NAME=`date +%y%m%d`
#Processus de création de fichier de sauvegarde
tar czfp $BACKUP_FILE_NAME.tar.gz $TARGET_DIR
mv $BACKUP_FILE_NAME.tar.gz $BACKUP_DIR
#Gestion de la génération des fichiers de sauvegarde dans un dossier de sauvegarde local
tgtfile="${backupdirpath}/backup_????-??-??.tar.gz"
chkage=$(ls -1 ${tgtfile}|wc -l)
#Définir le nombre de générations de stockage
age="5"
##Pour le processus d'extraction et de suppression du sixième élément et des éléments suivants avec la commande tail
##La valeur définie dans la variable est "Nombre de générations de stockage"+1 "
tailage="+6"
#Liste des fichiers à supprimer
delfilelist=$(ls -1 -t ${tgtfile}|tail -n ${tailage})
##Jugement de nécessité de suppression de fichier
if [[ ${chkage} -gt $age ]]; then
#Si le nombre de fichiers de sauvegarde est supérieur au nombre de générations de stockage
#Trier dans l'ordre inverse et supprimer en laissant les 5 dernières générations
echo "Nombre de générations stockées dans le dossier:${chkage}"
echo "Nombre de générations de stockage${age}Supprimer les anciens fichiers au fur et à mesure qu'ils dépassent"
echo "Fichiers à supprimer:${delfilelist}"
echo "Supprimer l'ancienne sauvegarde"
rm -f ${delfilelist}
else
echo "Il n'y a pas de fichiers de sauvegarde inutiles. Le processus se termine."
eval $todaydatetime
exit 1
fi
#Obtenez l'heure de fin du traitement
echo "Terminer le traitement du fichier de sauvegarde"
eval $todaydatetime
#Mesure du temps de fin de traitement
echo "Temps d'exécution du traitement:${SECONDS}Secondes"
top_backup.sh
#!/bin/sh -u
cd `dirname $0`
#Script parent qui contrôle le script de sauvegarde
sh ./backup.sh > logfile_`date "+%Y-%m-%d"`.log 2>&1
#Supprimer l'ancien fichier journal
tgtfile="./logfile_????-??-??.log"
chkage=$(ls -1 ${tgtfile}|wc -l)
#Définir le nombre de générations de stockage
age="5"
##Pour le processus d'extraction et de suppression du sixième élément et des éléments suivants avec la commande tail
##La valeur définie dans la variable est "Nombre de générations de stockage"+1 "
tailage="+6"
#Liste des fichiers à supprimer
delfilelist=$(ls -1 -t ${tgtfile}|tail -n ${tailage})
if [[ ${chkage} -gt $age ]]; then
#Si le nombre de fichiers de sauvegarde est supérieur au nombre de générations de stockage
#Trier dans l'ordre inverse et supprimer en laissant les 5 dernières générations
echo "Fichiers à supprimer:${delfilelist}"
echo "Supprimer l'ancien fichier journal"
rm -f ${delfilelist}
else
exit 1
fi
Recommended Posts