2011-07-11 5 views
4

私はCodeigniterを使用してmysqlテーブルをバックアップし、sqlファイルをローカルWebサーバーのhtdocs/application/backupsディレクトリに書き込みます。Codeigniterを使用したFTPミラーリングでフォルダが作成されましたが、アップロードされたファイルはありません

私は(バックアップユーザーアカウントをDreamhostの)ディレクトリが私のリモートWebサーバにミラーリングされることを望むが、私がリモートディレクトリ内のSQLファイルを見ていないよ、を働いていません。

私はCIのFTPライブラリを使用しています。私のローカルバックアップディレクトリの内容をリモートサーバにコピーする機能はmirror()です。

function mirror(){ 
    $this->load->library('ftp'); 
    $this->ftp->connect($this->server_credentials); 
    $result = $this->ftp->mirror($this->local_folder,$this->server_folder); 
    var_dump($result); //shows "true" 
    $this->ftp->close(); 
} 

I:私はミラー機能を持つデータベースのバックアップモデルでも

private $local_folder = 'my_directory/'; 
private $server_folder = 'my_server_directory/'; 
private $server_credentials = array(
    'hostname'=>'my.hostname.com', 
    'username'=>'my_username', 
    'password'=>'my_password' 
    ); 

:私のデータベースのバックアップモデルでは

私はスクリップで使用する変数を設定しました私のバックアップ機能からmirror()を呼び出してください。 sqlファイルは、バックアップ機能によってローカルに作成および保存されますが、ローカルフォルダはWebサーバーにミラーリングされません。

リモートバックアップディレクトリのアクセス許可は「777」であり、テスト実行は$this->ftp->list_files$this->ftp->mkdir()で問題ありません。

ファイルがアップロードされない理由は何ですか?

$this->ftp->mkdir() 

が正常に動作します

+0

ディレクトリは正しいですか?'/ www/my_directory /'のようなTryfullサーバーディレクトリ、または –

答えて

0

場合、私はあなたの許可設定がOKであることを確信しています。

正常に動作します

$this->ftp->list_files() 
場合、私はあなたの接続設定があまりにもOKであることを確信しています。

は、私はあなたのSQLのバックアップファイルは、問題は自分の無知だったので、私は自分の質問への答えを投稿してい

system/libraries/Ftp.php at lines 547 and 551 
1

にドット

参照して始めていると思います。

private $server_folder = 'my_server_directory/';

private $server_folder = '/my_server_directory/';

されている必要があります私は、トラブルが私の問題を撮影しながら、私はその構文を試してみましたが、私は同時にミラーリングを破ったそれも何かを変更している必要があります誓います私から答えを隠している。

@Damien Pirsyと@ Edinho Almeidaに感謝します。

+0

のようなものが正解です – Ash

関連する問題