Script backup



  • Bonjour les copains.
    J’ai un petits soucis.
    J’ai réalisé des scripts de backup sur un serveur ftp .
    J’ai mis mes scripts dans le répertoire /etc/cron.daily.
    Le backup se passe bien. Par contre la rotation des sauvegardes ne fonctionne pas.*
    Du coup je me retrouve avec une flopé de .tar.
    J’ai réalisé un script également de sauvegarde en local, et un script de rotation. Le script de backup fonctionne. Mais la rotation ne fonctionne que si je passe en ligne de commande. Si je le met dans le cron la tache ne fonctionne pas.
    Voici mon script de backup sur ftp dont la rotation ne fonctionne pas :

    FTPU="XXXXX"
    FTPP="XXXXX"
    FTPS="192.168.1.12"
    
    NOW=$(date +"%d-%m-%Y")
     
    ### local directory to backup ###
    FILE="/home/libertempo/Backup"
    retention=`date +%d-%B-%Y --date='7 day ago'` 
    lftp -u $FTPU,$FTPP -e "cd LIBERTEMPO;mkdir $NOW;cd $NOW;mirror -R $FILE /LIBERTEMPO/$NOW;quit" $FTPS
    # Rotation des sauvegardes
    lftp ftp://$FTPU:$FTPP@$FTPS -e "rm -rf $retention;quit"
    

  • Manchot Adélie

    De souvenir rm -rf n’est pas une commande ftp.
    Mais le plus simple c’est d’avoir les logs.

    Après sache qu’un très bon outil existe tel que backup manager
    https://doc.ubuntu-fr.org/backup-manager


  • Manchot Adélie

    :oups: pas trop l’habitude d’utiliser lftp, du coup je ne connaissais pas ses commandes 😜

    Pour moi @Elberton c’est $retention qu’il ne comprend pas

    Je préfère le décortiquer en reprenant tes variables :

    # Format de la date
    format_date='%d-%B-%Y'
     
    # Variable de date du jour, en fonction du format choisi
    date=`date +${format_date}`;
     
    # Le nombre de jour que tu souhaite archiver
    jretention="7";
     
    # Calcul du nombre de jour, remontant à plus de 7 jour(s)
    retention=`date --date "-${jretention} days" +${format_date}`;
    
    lftp ftp://${FTPU}:${FTPP}@${FTPS} -e "rm -rf ${retention} ;ls ; quit";
    

    Pour avoir des logs rajoute

    # Le chemin du rapport
    rapport='/home/cabanelibre/rapport.log';
    
    lftp ftp://${FTPU}:${FTPP}@${FTPS} -e "rm -rf ${retention} ;ls ; quit" >> ${rapport};
    


  • ok ça marche.
    par contre je te dirai sa mardi car je suis sur un autre site et j’ai pas accès à la bécane à distance.