2012-01-08 115 views
0
$filename= "Backup.tar"; // The name (and optionally path) of the dump file 
$ftp_server = "IP";  // Name or IP. Shouldn't have any trailing slashes and shouldn't be prefixed with ftp:// 
$ftp_port = "21"; // FTP port - blank defaults to port 21 
$ftp_username = "User";  // FTP account username 
$ftp_password = "Pass";  // FTP account password - blank for anonymous 
$filename = "public_html/backups/" . $filename . ".gz"; 

$command = "tar cvf ~/$filename ~/*"; 
$result = exec($command); 

$command = "gzip -9 -S .gz ~/$filename"; 
$result = exec($command); 

這是我使用的工作備份。它備份服務器上的所有內容,包括電子郵件(例如/ mail /),我只想備份/ public_html文件夾及其下的所有子目錄,它在/ public_html/backups /文件夾中創建一個tar.gz文件。也從/ public_html/backups /文件夾運行任何想法如何限制從'/'保存到'/ public_html /'?謝謝!只備份public_html的PHP備份腳本

回答

1

你只需要改變第三個輸入的tar命令

$filename= "Backup.tar"; // The name (and optionally path) of the dump file 
$ftp_server = "IP";  // Name or IP. Shouldn't have any trailing slashes and shouldn't be prefixed with ftp:// 
$ftp_port = "21"; // FTP port - blank defaults to port 21 
$ftp_username = "User";  // FTP account username 
$ftp_password = "Pass";  // FTP account password - blank for anonymous 
$filename = "public_html/backups/" . $filename . ".gz"; 

$command = "tar cvf ~/$filename /public_html/*"; 
$result = exec($command); 

$command = "gzip -9 -S .gz ~/$filename"; 
$result = exec($command); 
+0

+1我發現該命令而不/ *更好,因爲它不包括與點開始,否則文件:'焦油CVF〜/ $文件名/ public_html' – noob 2012-01-08 15:13:09

+0

我試過了,卻得到了一個錯誤: 警告:ftp_put(public_h tml/backups/Full_Account_Backup.tar.gz)[function.ftp-put]:無法打開流:48上的/home/USER/public_html/backups/site_cron_backup.php中沒有這樣的文件或目錄 FTP上傳失敗。 警告:取消鏈接(public_html/backups/Full_Account_Backup.tar.gz)[function.unlink]:沒有這樣的文件或目錄在/home/USER/public_html/backups/site_cron_backup.php在線63 我會發布完整的腳本但我不能在評論中,這太長 – Tom 2012-01-08 19:57:59

+0

我試過MrGLass和micha的建議 – Tom 2012-01-08 20:01:46