Créer un script bash .tar.gz

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. Modérateur
    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