PHPバックアップユーティリティ
PHPBU は、バックアップを作成および暗号化し、バックアップを他のサーバーまたはクラウド サービスに同期し、バックアップ作成の監視を支援する PHP ツールです。
PHPBU Web サイトで、すべての機能の詳細と短い「入門」チュートリアルをご覧ください。
php 8.0 以降をまだ使用していない場合は、phpbu バージョン 6.0.20 を使用できます。
php 7.2 以降をまだ使用していない場合は、phpbu バージョン 5.2.10 を使用できます。
php 7.0 以降の場合でも、phpbu バージョン 4.0.10 を使用できます。
PHPBU を実行するために必要なものすべてを 1 つのファイルにバンドルした PHP アーカイブ (PHAR) をダウンロードできます。
wget https://phar.phpbu.de/phpbu.phar
chmod +x phpbu.phar
php phpbu.phar --version
便宜上、PHAR を PATH 内のディレクトリに移動できます。
mv phpbu.phar /usr/local/bin/phpbu
phpbu --version
PHIVE を使用してPHPBU をインストールします。
phive install phpbu
Composer を介したPHPBUのインストールもサポートされています。
"require" : {
"phpbu/phpbu" : " ^6.0 "
}
phpbu [option]
--bootstrap=<file> A "bootstrap" PHP file that is included before the backup.
--configuration=<file> A phpbu xml config file.
--colors Use colors in output.
--debug Display debugging information during backup generation.
--generate-configuration Create a new configuration skeleton.
--limit=<subset> Limit backup execution to a subset.
--simulate Perform a trial run with no changes made.
--restore Print a restore guide.
-h, --help Print this usage information.
-v, --verbose Output more verbose information.
-V, --version Output version information and exit.
$ phpbu
これには、現在の作業ディレクトリに有効な XML PHPBU構成ファイル (phpbu.xml または phpbu.xml.dist) が必要です。あるいは、構成ファイルへのパスを指定することもできます。注意すべき重要な点は、構成内のすべてのパスは絶対パスであるか、構成ファイル自体に対する相対パスである必要があるということです。
$ phpbu --configuration=backup/config.xml
構成されたバックアップのサブセットのみを実行するには、 --limitオプションを使用します。
$ phpbu --limit=myAppDB
実際に影響を与えないドライランは、 --simulateオプションを使用して実行されます。
$ phpbu --simulate
バックアップを復元する方法のガイドを表示するには、 --restoreオプションを使用します。
$ phpbu --restore
XML での簡単な構成例:
<? xml version = " 1.0 " encoding = " UTF-8 " ?>
< phpbu xmlns : xsi = " http://www.w3.org/2001/XMLSchema-instance "
xsi : noNamespaceSchemaLocation = " http://schema.phpbu.de/6.0/phpbu.xsd "
verbose = " true " >
< backups >
< backup name = " myAppDB " >
<!-- source -->
< source type = " mysqldump " >
< option name = " databases " value = " mydbname " />
< option name = " user " value = " user.name " />
< option name = " password " value = " topsecret " />
</ source >
<!-- where should the backup be stored -->
< target dirname = " backup/mysql "
filename = " mysqldump-%Y%m%d-%H%i.sql "
compress = " bzip2 " />
</ backup >
</ backups >
</ phpbu >
JSON での簡単な構成例:
{
"verbose" : true ,
"backups" :[
{
"name" : " myAppDB " ,
"source" :{
"type" : " mysqldump " ,
"options" :{
"databases" : " mydbname " ,
"user" : " user.name " ,
"password" : " topsecret "
}
},
"target" :{
"dirname" : " backup " ,
"filename" : " mysql-%Y%m%d-%H%i.sql " ,
"compress" : " bzip2 "
}
}
]
}