Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/04/2017, à 14:47

pendrapaul

Comment supprimer les dossiers plus vieux que 15 jours...

Bonjour,

un prestataire m'installer un script de sauvegarde, mais j'aimerais ajouter l'option de suppression des ancien dossiers. Pour ne pas trop charger en fichiers inutiles.
Le script me cree un dossier avec la date du jour genre 31-03-2017 avec la sauvegarde des fichiers et la base sql.

Donc j'aimerais ajouter l'option de suppression automatique. Chaque nouvelle sauvegarde il supprime le(s) dossier(s) plus vieux de 15 jours. Pouvez vous me enseigner quelle modifs que je doit faire pour l’exécuter correctement.

Le script à compléter:

BACKUPDIR=/backup
DATE=`date +%d-%m-%Y`
DOCUMENTROOT=/opt/alfresco
BINDIR=
DBS="alfresco"
HOSTNAME=`hostname`
DIR=$BACKUPDIR/$DATE
ROTATEDIR=$BACKUPDIR
HER=`pwd`


/opt/alfresco/alfresco.sh stop  >/dev/null 2>&1
sleep 40
# si le serveur ne repond pas alors on kill l'instance
/usr/bin/killall -q -e -g -s 9 /opt/jdk1.8.0_91/bin/java >/dev/null 2>&1

### test avant lancement du script
if [ ! -d $DOCUMENTROOT ]; then
        echo "**$0: DocumentRoot invalid:$DOCUMENTROOT"
        exit 1
fi

#create backup directory
if [ ! -d $DIR ]
then
        mkdir -p $DIR
fi
#save repository
cd $DOCUMENTROOT

tar -czf $DIR/alfresco.tar.gz alf_data

db='alfresco.sql'

if [ ! -f $DIR/alfresco.tar.gz ]; then
        echo "Backup not created " | logger
        (echo "Subject: [Attention] Backup Notification"; echo "Une erreur s'est produite lors de la sauvegarde des données alfresco .") | /usr/sbin/sendmail user@mail.fr
else
         echo "Backup  created " | logger
        (echo "Subject: [SUCCESS] Backup :SQL: Notification"; echo " sauvegarde des données alfresco  avec success.") | /usr/sbin/sendmail user@mail.fr
fi

#save metadata

mysqldump alfresco  > $DIR/$db
#save backup cmd
cd $HER

if [ ! -f $DIR/$db ]; then
         echo "dump failed " | logger
        (echo "Subject: [Attention] Backup Notification"; echo "Une erreur s'est produite lors de la sauvegarde de la base alfresco .") | /usr/sbin/sendmail  user@mail.fr
else
         echo "dump succes " | logger
        (echo "Subject: [SUCCESS] Backup :Files: Notification"; echo " sauvegarde de la base alfresco effectué avec succes .") | /usr/sbin/sendmail  user@mail.fr

Merci d'avance

Hors ligne

#2 Le 13/04/2017, à 14:57

Hoper

Re : Comment supprimer les dossiers plus vieux que 15 jours...

Tu peux ajouter ça à la fin de ton script:

# Remove all directory created more than 15 days ago
find $BACKUPDIR -type d -ctime +15 -exec rm -rf {};

N’hésite pas à tester directement à la main en lançant :
find /backup -type d -ctime +15 -exec rm {};
Pour vérifier que je me suis pas planté dans la syntaxe...

EDIT : Note bien que ton script de sauvegarde est vraiment pas terrible, et que ce que j'y ajoute est encore pire. C'est aussi super dangereux... Par exemple si quelqu'un modifie la destination du backup pour mettre uniquement '/', cela effacera L'ENSEMBLE DES FICHIERS PRESENTS SUR LE SERVEUR ! (à l'exception des fichiers qui ont moins de 15 jours mais bon... Bref, le système sera totalement HS).

Mais bon, dans l'absolu, et si personne ne modifie n'importe quoi sans réfléchir, ça fera précisément ce que tu veux...

Dernière modification par Hoper (Le 13/04/2017, à 15:14)


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne

#3 Le 13/04/2017, à 15:08

pendrapaul

Re : Comment supprimer les dossiers plus vieux que 15 jours...

Merci, pour le moment c'est sur une machine VM pour tester.
Plus tard(2-3 semaine) on mettre en place une sauvegarde plus intelligent.
Selon moi, il vaut mieux avoir une pas beau, que avoir aucune.

En tous cas merci smile

Hors ligne

#4 Le 13/04/2017, à 15:12

Hoper

Re : Comment supprimer les dossiers plus vieux que 15 jours...

Selon moi, il vaut mieux avoir une pas beau, que avoir aucune.

Amen.

Juste une chose à laquelle il faudrait quand même vraiment faire attention: Si la sauvegarde est située sur le même disque que les données sauvegardées... Je ne dis pas que ça ne sert à rien (ce serait totalement faux de dire ça) mais enfin... Tu comprend bien que c'est le disque dur qui lache, tes sauvegardes ne t'aideront pas beaucoup...

Bref, si tu a au moins deux disques, fait les choses bien smile

Oh tiens, je viens de voir une boulette... Puisque ce sont des répertoires que tu veux effacer, rm tout seul ne va pas suffire. J'ai édité le code plus haut pour ajouter "rm -rf"

Dernière modification par Hoper (Le 13/04/2017, à 15:13)


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne

#5 Le 13/04/2017, à 15:17

pendrapaul

Re : Comment supprimer les dossiers plus vieux que 15 jours...

Je vu le manque de -rf
C'est vrais, pour la sauvegarde, sur le meme disque. C'est pour cette raison j'ai mis en place un synologie 4 Baies pour les sauvegardes de nos PC's du Bureau et le serveur wink

Hors ligne

#6 Le 13/04/2017, à 15:28

Hoper

Re : Comment supprimer les dossiers plus vieux que 15 jours...

C'est vrais, pour la sauvegarde, sur le meme disque. C'est pour cette raison j'ai mis en place un synologie 4 Baies pour les sauvegardes de nos PC's du Bureau et le serveur

Bien ! Tu sais que tu fais déjà mieux que pas mal de "grosses boites sérieuses" ? smile La prochaine étape c'est d’arrêter les copies de fichier, et de passer à des vraies solutions de sauvegarde pro avec sauvegardes indexées, full/incrémentales etc. Avec ce genre de chose par exemple :

https://www.bareos.com/en/what_is_bareos.html

Bareos étant un fork de bacula, 100% libre lui aussi...
Mais comme tu l'a si bien dis, avoir des sauvegardes, c'est déjà beaucoup mieux que de ne pas en avoir smile


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne

#7 Le 13/04/2017, à 18:10

Hizoka

Re : Comment supprimer les dossiers plus vieux que 15 jours...

il existe pas mal de logiciels qui fonctionnent très bien et qui font ce que tu demandes, perso sur mon serveur, j'utilise https://doc.ubuntu-fr.org/backup-manager
et j'ai mis en place également un autre systeme perso en repartant de backupmanager : https://forum.ubuntu-fr.org/viewtopic.p … #p21513810
les 2 sont en mode incrémentiel.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne