Dumper une base MySQL avec horodatage dans le nom du fichier
J’ai un projet qui utilise la base de données MySQL. Je souhaite sauvegarder la base de données tous les jours, donc j’utilise ceci:
mysqldump -h host -u user -p database de mots de passe> 'location.sql'
Je souhaite que les fichiers soient nommés avec l’horodatage, c’est-à-dire:
Aujourd’hui, le fichier sera nommé quelque chose-07-05-2014 08-00-00
Demain sera quelque chose-08-05-2014 08-00-00
Comment ajouter un timestamp formaté avec le nom de fichier exporté?
Réponse:
Une solution serait:
mysqldump -h host -u user -p password database > quelque chose-$(date +%d-%m-%Y %H %M %S).sql
Pour un horodatée qui permette le tri correct des fichiers, il fait changer l’ordre des paramètres et utiliser:
%Y-%m-%d
de manière à trier sur année, mois puis jour. Ne rien changer pour les hh:mm:ss
puisque le tri se fair naturellement dans cas.
Pour automatiser ce dump
, il faut insérer cette commande dans le crontab (du root
ou de l’utilisateur):
0 */8 * * * root /usr/bin/mysqldump -h host -u user -p password database > quelque chose-$(date +%d-%m-%Y %H %M %S).sql
pour que la commande s’exécute toutes les 3 heures (24h ÷ 8).