0

cPanel ホーム ディレクトリをバックアップするスクリプトがあります。最初にターゲット フォルダーを空にし (古いバックアップを削除するため)、次にホーム ディレクトリのバックアップを実行します。cron ジョブを使用してこのスクリプトを実行すると、削除フェーズでエラーが発生します。特定のバックアップ フォルダにしかアクセスできない FTP アカウントを使用しています。

<?php
// Must include cPanel API
include "xmlapi.php.inc";

// Credentials for cPanel account
$source_server_ip = ""; // Server IP or domain name eg: 212.122.3.77 or cpanel.domain.tld
$cpanel_account = ""; // cPanel username
$cpanel_password = ""; // cPanel password

// Credentials for FTP to Backup Box
$ftpacct = ""; // FTP account
$ftppass = ""; // FTP password
$email_notify = ''; // Email address for backup notification

$xmlapi = new xmlapi($source_server_ip);
$xmlapi->password_auth($cpanel_account,$cpanel_password);
$xmlapi->set_port('2083');

// Delete any other backup before create new backup
$conn_id = ftp_connect($source_server_ip);
$login_result = ftp_login($conn_id, $ftpacct, $ftppass);
$logs_dir = "/";

ftp_chdir($conn_id, $logs_dir);
$files = ftp_nlist($conn_id, ".");
foreach ($files as $file){
    ftp_delete($conn_id, $file); }

ftp_close($conn_id);

$api_args = array( 
                           'passiveftp',
                           $source_server_ip,
                           $ftpacct,
                           $ftppass,
                           $email_notify,
                            21,
                            '/'
                         );

$xmlapi->api1_query($cpanel_account,'Fileman','fullbackup',$api_args);

?>

cronエラーは以下です。$logs_dir も絶対パスに変更しようとしましたが、同じエラーが発生します。

<br />
<b>Warning</b>:  ftp_delete() [<a href='function.ftp-delete'>function.ftp-delete</a>]: Could not delete .: Invalid argument in <b>/xxxxxxxx/cpanel-backup.php</b> on line <b>27</b><br /> <br />
<b>Warning</b>:  ftp_delete() [<a href='function.ftp-delete'>function.ftp-delete</a>]: Could not delete ..: Invalid argument in <b>/xxxxxxxx/cpanel-backup.php</b> on line <b>27</b><br /> <br />

クローンジョブ:

0   0   1   1   *   php -q /path/cpanel-backup.php
4

0 に答える 0