2017-02-16 1 views
1

mon fournisseur m'a dit d'utiliser ce script pour créer une sauvegarde Mysql:sauvegarde MySql avec la date à flename en utilisant php

<?php 
$host= 'xxx'; 
$user= 'xxx'; 
$pass= 'xxx'; 
$db= 'xxx'; 

system(sprintf(
'mysqldump --no-tablespaces --opt -h%s -u%s -p"%s" %s | gzip > %s/dumpDB.sql.gz', 
$host, 
$user, 
$pass, 
$db, 
getenv('DOCUMENT_ROOT') 
)); 
echo '+DONE'; 
?> 

cela fonctionne appelé par un cronjob. Je veux ajouter la date au nom de fichier, donc je peux obtenir plus d'un fichier. Quelque chose qui crée des fichiers comme "20170216-dumpDB.sql.gz"

Comment? Merci

Répondre

2

donc créer comme ça

$file = date('Ymd') . '-dumpDB.sql.gz'; 
system(sprintf(
'mysqldump --no-tablespaces --opt -h%s -u%s -p"%s" %s | gzip > %s/%s', 
$host, 
$user, 
$pass, 
$db, 
getenv('DOCUMENT_ROOT'), 
$file 
)); 
+0

Cela fonctionne! Merci – theant

0

cela devrait fonctionner ... il juste la date ajoute au nom du fichier.

system(sprintf(
    'mysqldump --no-tablespaces --opt -h%s -u%s -p"%s" %s | gzip > %s/%s-dumpDB.sql.gz', 
    $host, 
    $user, 
    $pass, 
    $db, 
    getenv('DOCUMENT_ROOT'), 
    date("Ymd") 
)); 
+0

Cela fonctionne! Merci – theant

0

Utilisez la sortie date('Ymd'): 20170216

$file = date('Ymd') . '-dumpDB.sql.gz'; //20170216-dumpDB.sql.gz 
system(sprintf(
'mysqldump --no-tablespaces --opt -h%s -u%s -p"%s" %s | gzip > %s/%s', 
$host, 
$user, 
$pass, 
$db, 
getenv('DOCUMENT_ROOT'), 
$file 
));