Créer un script bash .tar.gz

zazakelya Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Comme je vous ai dis précédemment que je suis nouveau sur debian, alors j'ai encore un autre problème.

J'aimerais créer un script bash pour créer une sauvegarde au format .tar.gz des dossiers:
- /var/www/ (au format tar.gz)
- /etc/apache2
- /etc/php5

La sauvegarde serait nommée 'backup_{date}.tar.gz avec la date au format yyMMMdd_hhmmss (année/mois/jour sur 2 chiffres puis heure/min/sec sur deux chiffre) et stockée dans la répertoire /root/backup

Comment faire ?

1 réponse

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Tu peux écrire quelque chose dans ce genre dans un fichier (mettons /home/toto/script.sh)

    #!/bin/bash
    
    archive_dir="/tmp"
    archive_path="$archive_dir/backup_$(date +%Y%m%d%H%M%S).tar.gz"
    
    echo "Writting [$archive_path]"
    tar cvzf $archive_path /var/www /etc/apache2 /etc/php5
    
    exit $?


    Sauve et quitte, puis lance :

    chmod a+x /home/toto/script.sh
    /home/toto/script.sh


    L'archive peut être en cas de besoin décompressée au niveau de / en tant que root (ou avec sudo).

    mv /tmp/archive_xxxxx.tgz /
    mv /etc/apache2 /etc/apache2.old
    mv /etc/php5 /etc/php5.old
    mv /var/www /var/www.old
    cd /
    tar xzvf archive.tgz


    Pour voir à quoi servent les différentes commandes (echo, tar, date) et ce que signifient leurs paramètres :

    man echo
    man tar
    man date


    Pour plus de détails sur la syntaxe elle-même je t'invite à regarder un cours sur le langage shell (ici bash).

    Bonne chance
    3