0

此代码创建 db 备份文件,但文件名始终相同,因此我需要手动重命名它们。您将如何编写代码以在其标题中自动插入此备份的日期和时间?(例如:backupDB-07.08.12-18h43)或类似的东西?

我的代码:

<?
echo "backup of your database

";
$db="nom_de_ma_base";
$status=system("mysqldump --host=mysql5-1.perso --user=$_POST[login] --password=$_POST[password] $db > ../$db.sql");
echo $status;
echo "Compression du fichier.....

";
system("bzip2 -f /homez/backupDB/$db" . date("d-M-Y", time()) . ".sql");
echo "C'est fini. You can access to your database
\n
";
?>
4

4 回答 4

3

为什么不简单地包含一个包含之后日期的变量$db.sql?像这样的代码:

<?
echo "backup of your database";
$db="nom_de_ma_base";

$date = date('d.m.Y', time());
$filename = $db.'-'.$date;
$status=system("mysqldump --host=mysql5-1.perso --user=$_POST[login] --password=$_POST[password] $db > ../$filename.sql");
echo $status;

echo "Compression du fichier.....";
system("bzip2 -f /homez/backupDB/$filename.sql");
echo "C'est fini. You can access to your database\n";
?>

如您所见,我添加了一个名为$filename.
它包含$db$date所以你最终拥有my_database_name-08.07.2012.

于 2012-07-08T17:38:27.930 回答
2

你在错误的地方做约会的事情。将时间戳放入一个字符串变量中,并将该变量添加到实际写入备份 sql 文件的位置。

将其放入变量的想法是,它可能会在写操作开始和压缩操作开始之间发生变化。

<?
echo "backup of your database

";
$db="nom_de_ma_base";
$datestamp = date("d-M-Y", time());
$status=system("mysqldump --host=mysql5-1.perso --user=$_POST[login] --password=$_POST[password] $db > ../$db" . $datestamp .".sql");
echo $status;
echo "Compression du fichier.....

";
system("bzip2 -f /homez/backupDB/$db" . $datestamp . ".sql");
echo "C'est fini. You can access to your database
\n
";
?>
于 2012-07-08T17:38:35.583 回答
1
<?php

$curdate = date('Y-m-d_g-i-s');
echo "backup of your database @".$curdate."\n\r";
$db="nom_de_ma_base".$curdate;
$status=system("mysqldump --host=mysql5-1.perso --user=$_POST[login] --password=$_POST[password] $db > ../$db.sql");
echo $status;
echo "Compression du fichier.....

";
system("bzip2 -f /homez/backupDB/$db.sql");
echo "C'est fini. You can access to your database
\n
";
?>
于 2012-07-08T17:44:38.983 回答
0

试试这个:

$Command='tar -cvf All-backup_'.date("Y-m-d").'.tar Backup_ftp-'.date("Y-m-d").'.tar Backup_sql_'.date("Y-m-d").'.sql.gz';
if(exec($Command))
echo 'backup done !';
于 2012-07-08T17:39:08.460 回答