2017-02-16 2 views
1

meinen Provider hat mir gesagt, dieses Skript zu verwenden, um eine Mysql Backup zu erstellen:MySql Backup mit Datum in flename 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'; 
?> 

es von einem Cronjob genannt funktioniert. Ich möchte das Datum dem Dateinamen hinzufügen, damit ich mehr als eine Datei bekommen kann. Etwas, das Dateien wie "20170216-dumpDB.sql.gz" erzeugt

Wie? Dank

Antwort

2

So erstellen Sie es wie diese

$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

Das funktioniert! Danke – theant

0

dies funktionieren sollte ... es hängt nur das Datum an den Dateinamen.

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

Das funktioniert! Danke – theant

0

Verwendung date('Ymd') Ausgang: 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 
));