[script-shell] Crontab
Résolu
zekiller3
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
zekiller3 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
zekiller3 Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
#!/bin/bash _date=$(date "+%Y-%m-%d_%H-%M") _prefix_name="backup_home_" nom_archive="$_prefix_name$_date" _today=$(date "+%A") _path="$HOME/Desktop/script/$_today" if [ $(date "+%u") -eq 5 ] # 5 : si on est vendredi then #rajouter la creation de dossier "$_today" test -d $_path if [ $? -ne 0 ] then mkdir $_path fi #creation de l'archive du dimanche tar -zcvvf $HOME/Desktop/script/"$_today"/$nom_archive.tgz $HOME/Desktop/script/dossier #suppression des archives de la semaine rm $HOME/Desktop/script/backup_home_*.tgz #suppression des archives du dimanche anciennes de plus d'un mois _nbfic=$(ls -t $_path | grep $_prefix_name | wc -l) #je compte le nombre d'archives echo "nombre de fichier : $_nbfic" if [ $_nbfic -gt 4 ] then #_nb_fichier_del : nombre de fichier a supprimer _nb_fichier_del=$(expr $_nbfic - 4) echo "nombre de fichier a supprimer : $_nb_fichier_del" #_fichier_a_supp : liste des fichiers a supprimer _fichier_a_supp=$(ls -t $_path | grep $_prefix_name | tail -$_nb_fichier_del) for fic in $_fichier_a_supp do echo $fic >> $_path/log rm $_path/$fic done fi else tar -zcvvf $HOME/Desktop/script/$nom_archive.tgz $HOME/Desktop/script/dossier fi
explication rapide :
je fais une sauvegarde de dossier tous les jours
si on est dimance (ici vendredi pour mes test)
on créé un dossier spécial et on y met les sauvegardes, seulement
on doit garder uniquement les 4 plus récentes sauvegardes du dimanche
toutes les autres sauvegardes effectuées pendant la semaine et dimanche (d'il y a plus de 4 semaines) doivent être supprimés
mon problème est que lors de l'édition de la crontab
j'ai mis
* * * * * sh ..../monbackup.sh
pour qu'il exécute toutes les minutes le script (pour mes tests)
mais apparement mon code avec du ls -t n'est pas exécuté!
il me faut donc un équivalent.. ou un moyen de récuperer les 4 fichiers les plus récents et supprimer le reste
A voir également:
- [script-shell] Crontab
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Script cmd - Guide