2013-04-29 29 views
-2

我發現這個PHP代碼。它將文件和數據庫從您的網站備份到Dropbox。備份到Dropbox使用ZIP而不是通過PHP的TGZ

<?php 

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

// Dropbox username/password 
$dropbox_email='[email protected]'; 
$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_」。日期(「Y.m.d-h.i.s_l」)。 '.tgz的';壓縮不tgz。當我用'zip'重新制作'tgz'時,zip文件沒有打開。我也嘗試添加'$ createZip = new createZip;'但它根本沒有創建zip文件。

我更喜歡使用zip而不是tgz。

+2

Stack Overflow是不是你提出你發現代碼中的網站,並要求別人來修改它放在你的代表。如果您有興趣自行修改並對此有特定疑問,我們將很樂意提供幫助。請參閱常見問題,尤其是[如何問](http://stackoverflow.com/questions/how-to-ask)以獲取更多信息。 – Jon 2013-04-29 23:19:43

+0

這就是我在原始問題中所做的。我試着自己修改它以使用zip格式的tgz。 – user2333968 2013-04-29 23:21:42

回答

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

- >此命令使用Linux'tar'命令執行實際歸檔。 system()是一個可以在php中運行這些外部二進制文件的函數。你必須做的是用調用'zip'的東西替換這個特定的調用'tar' - 如果該程序存在於有問題的機器上。

你可以找到如何「拉鍊」被稱爲Linux上這裏的例子: http://linux.about.com/od/commands/a/blcmdl1_zipx.htm

約翰

相關問題