-2

このPHPコードを見つけました。ファイルをバックアップし、ウェブサイトからドロップボックスにデータベース化します。

<?php

// Set the timezone so filenames are correct
date_default_timezone_set('Europe/London');

// Dropbox username/password
$dropbox_email='dropbox@dropbox.com';
$dropbox_pass='password';

// MySQL username/password/db name
$mysql_database='mysql_database';
$mysql_username='mysql_username';
$mysql_password='password';

// Filenames for backup files
$backup_dbname = "database_" . date("Y.m.d-H.i.s_l") . '.sql.gz';
$backup_files = "files_" . date("Y.m.d-h.i.s_l") . '.tgz';

// File to backup
$siteroot = "/site/home/public_html/";

// Backup database, obviously you can tweak the mysqldump switches
// Backup is GZipped.
system("mysqldump -h localhost -u $mysql_username --password=$mysql_password $mysql_database --complete-insert | gzip > $backup_dbname");

// Backup all files in public_html apart from the gz
system("tar -czvf $backup_files $siteroot");

include("DropboxUploader.php");

$uploader = new DropboxUploader($dropbox_email, $dropbox_pass);
$uploader->upload($backup_files,'Backup/Files/');
$uploader->upload($backup_dbname,'Backup/Database/');

system("rm $backup_files");
system("rm $backup_dbname");

?>

ファイルをバックアップしたい $backup_files = "files_" 。date("Ymd-his_l") . '.tgz'; tgzではなくzipする。「tgz」を「zip」に置き換えたところ、zip ファイルが開きませんでした。「$createZip = new createZip;」も追加しようとしました しかし、zipファイルはまったく作成されませんでした。

私の状況では、tgz ではなく zip を使用してください。

4

1 に答える 1

0
system("tar -czvf $backup_files $siteroot");

--> このコマンドは、Linux の「tar」コマンドを使用して実際のアーカイブを行います。system() は、php 内からこれらの外部バイナリを実行できる関数です。問題のマシンにそのプログラムが存在する場合は、「tar」へのこの特定の呼び出しを「zip」を呼び出す何かに置き換える必要があります。

Linux で「zip」を呼び出す方法の例は、http: //linux.about.com/od/commands/a/blcmdl1_zipx.htmで確認できます。

ヨハン

于 2013-04-29T23:32:33.693 に答える