2016-08-20 3 views
-2

Je cherche une instruction if. Donc quand j'exécute mon script, ça m'apporte une liste des sauvegardes avec la date. L'instruction if est pour, s'il n'y a pas de sauvegarde des 2 derniers jours echo "No recent backup".Linux-ls Si instruction

quand je ls -lrth:

-rw-r - r--. 1 nfsn personne nfsn personne 1,5 G août 15 12:02

-rw-r - r--. 1 nfsnobody nfsnobody 1.5G 16 août 01:30

Si la date est plus de 2 jours echo ""

+1

'' homme find' avec -mtime' et '-name' – bishop

Répondre

1
BACKUP_DIRECTORY="basename" #basename of the directory 

MATCHES=$(find "$BACKUP_DIRECTORY" -maxdepth 1 -type f -mtime -2 -ls | wc -l) 

if [ $MATCHES -eq 0 ]; then 
    echo "CRITICAL: No files older than 2 days yet in directory $*" 
    exit 2 
else 
    echo "OK: Found $MATCHES file(s) of the last 2 days in ${BACKUP_DIRECTORY}" 
    exit 0 
fi 

pour obtenir une liste des sauvegardes des 2 derniers jours d'utilisation:

find "$BACKUP_DIRECTORY" -maxdepth 1 -type f -mtime -2 -ls

  • -maxdepth 1. Spezifies le répertoire de profondeur travesal. Nous ne voulons pas descendre plus de 1 niveaux dans les sous-répertoires.
  • -type f signifie que seuls les fichiers seront trouvés (pas de répertoires).
  • -mtime -2 signifie que l'âge du fichier est inférieur à 2 jours.

wc -l compte le nombre de fichiers trouvés