Créer un script bash .tar.gz

zazakelya Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33766 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

mamiemando Messages postés 33766 Date d'inscription   Statut Modérateur Dernière intervention   7 878
 
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