Créer un script bash .tar.gz

Fermé
zazakelya Messages postés 9 Date d'inscription jeudi 18 juillet 2013 Statut Membre Dernière intervention 23 juillet 2013 - Modifié par mamiemando le 23/07/2013 à 19:47
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 23 juil. 2013 à 19:55
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 ?
A voir également:

1 réponse

mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 811
Modifié par mamiemando le 23/07/2013 à 19:58
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