如何使用日期自动重命名文件? (备份php)

时间:2012-07-08 17:30:49

标签: php ftp

此代码创建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 个答案:

答案 0 :(得分: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

答案 1 :(得分: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
";
?>

答案 2 :(得分: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
";
?>

答案 3 :(得分: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 !';