PHP 백업 유틸리티
PHPBU 는 백업을 생성 및 암호화하고, 백업을 다른 서버 또는 클라우드 서비스와 동기화하고, 백업 생성을 모니터링하는 데 도움을 주는 PHP 도구입니다.
PHPBU 웹사이트에서 모든 기능과 짧은 '시작하기' 튜토리얼을 자세히 살펴보세요.
아직 PHP 8.0 이상을 사용하고 있지 않다면 phpbu 버전 6.0.20을 계속 사용할 수 있습니다.
아직 PHP 7.2 이상을 사용하고 있지 않다면 phpbu 버전 5.2.10을 계속 사용할 수 있습니다.
PHP 7.0 뒤에 있는 경우에도 phpbu 버전 4.0.10을 사용할 수 있습니다.
PHPBU를 실행하는 데 필요한 모든 것을 단일 파일로 묶은 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 "
}
}
]
}