会社のデータやサイトをクラウドに安全にアップロードしたいとご相談をいただくことがあります。
お客様の会社の事業規模にもよりますが 容量500 GB ファイル数60,000件を超えるような場合、一般的な方法でファイルを移動すること難しくなっております。そういった場合の対応方法について下記にご紹介させていただきます。
安全なバックアップの作成とファイルの移動
お客様の環境によりご対応は変わりますが、多くの場合PythonやPHPなどのプログラムを実行し古いサーバーからファイルを圧縮(同時にバックアップを作成し)、 安全に(また過不足無く)データを取り出す必要があります。
また移動先のサーバーにおきましてもコード実行して解凍作業を行い、移動を確実に完了させる必要があります。
ご参考までに下記に一般的な手順をご紹介させていただきます。
ご相談は無料となりますので、ぜひお気軽にお問い合わせください。
旧サーバー(移動元サーバー)でのPHPを活用したファイル圧縮コード ※pathは相対参照にて記載します。
<?php
set_time_limit(60);//圧縮するファイル量により処理落ちする場合は時間を伸ばしてください
$backup_dir = "./TESTFile";//バックアップするディレクトリを指定
$new_file = "TESTFile.zip";//zipファイルのファイル名を指定
system("zip -r $new_file $backup_dir > /dev/null");//zipファイルを生成。ログを出力しないようにする。
//ファイルをダウンロード
header('Content-Disposition: attachment; filename="'.basename($new_file).'"');
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($new_file));
readfile($new_file);
@unlink($new_file);//ファイルをダウンロード後サーバから削除
?>
新サーバー(移動先サーバー)でのPHP解凍コード ※pathは相対参照にて記載します。
<?php
$zip = new ZipArchive();
if ($zip->open('../TESTFile.zip') === true) {//解凍するファイルを指定
if ($zip->extractTo('../') === true) {
$zip->close();
} else {
exit('Extract Error');
}
} else {
exit('Open Error');
}
echo 'Unzip Complete';//解凍完了後に元ファイルの削除を任意にて行なってください
?>
お客様より「会社のサーバーに外付けハードディスクを接続してファイルを保存したい。又、その後このデータをサーバーにアップロードしたい」と言うご相談をいただくことがありますが、 外付けハードディスクといった物理的方法でデータをご用意いただいた場合でも、最終的にはクラウドにアップロードする際に上記の手順でプログラムを実行する必要があります。
セキュリティ保護が必要です
上記の手順で大量のファイルを移動することができますが、移動中のセキュリティが設定されておらず大切な情報や顧客データの流出など問題が発生する場合があります。
ウェブセキュリティのご相談承ります
サーバー側のセキュリティ設定方法につきましては、お客様の利用環境により手順が大きく変わります。
「ウェブサーバーのリプレイス」や「自社サーバーのメンテナンス」などは是非ご相談いただければと思います。