php-backup-master
所属分类:WEB开发
开发工具:PHP
文件大小:154KB
下载次数:1
上传日期:2017-10-31 01:48:11
上 传 者:
sayajeff
说明: This set of scripts provide a framework for making backups using the PHP language.
文件列表:
LICENSE (1105, 2014-08-03)
directories_and_mysql.dist (89, 2014-08-03)
directories_and_mysql.ini.dist (826, 2014-08-03)
directories_and_postgresql.dist (115, 2014-08-03)
directories_and_postgresql.ini.dist (803, 2014-08-03)
filesystem.dist (15, 2014-08-03)
filesystem.ini.dist (541, 2014-08-03)
ftp_and_mysql.dist (131, 2014-08-03)
ftp_and_mysql.ini.dist (888, 2014-08-03)
log4php (0, 2014-08-03)
log4php\LICENSE (34088, 2014-08-03)
log4php\Logger.php (16679, 2014-08-03)
log4php\LoggerAppender.php (7127, 2014-08-03)
log4php\LoggerAppenderPool.php (2964, 2014-08-03)
log4php\LoggerAutoloader.php (7042, 2014-08-03)
log4php\LoggerConfigurable.php (4159, 2014-08-03)
log4php\LoggerConfigurator.php (1476, 2014-08-03)
log4php\LoggerException.php (964, 2014-08-03)
log4php\LoggerFilter.php (4338, 2014-08-03)
log4php\LoggerHierarchy.php (7251, 2014-08-03)
log4php\LoggerLayout.php (1998, 2014-08-03)
log4php\LoggerLevel.php (6821, 2014-08-03)
log4php\LoggerLocationInfo.php (2943, 2014-08-03)
log4php\LoggerLoggingEvent.php (9583, 2014-08-03)
log4php\LoggerMDC.php (2481, 2014-08-03)
log4php\LoggerNDC.php (6837, 2014-08-03)
log4php\LoggerReflectionUtils.php (4609, 2014-08-03)
log4php\LoggerRoot.php (1945, 2014-08-03)
log4php\LoggerThrowableInformation.php (1791, 2014-08-03)
log4php\appenders (0, 2014-08-03)
log4php\appenders\LoggerAppenderConsole.php (3100, 2014-08-03)
log4php\appenders\LoggerAppenderDailyFile.php (4124, 2014-08-03)
log4php\appenders\LoggerAppenderEcho.php (2540, 2014-08-03)
log4php\appenders\LoggerAppenderFile.php (5581, 2014-08-03)
log4php\appenders\LoggerAppenderFirePHP.php (3232, 2014-08-03)
log4php\appenders\LoggerAppenderMail.php (3846, 2014-08-03)
log4php\appenders\LoggerAppenderMailEvent.php (5024, 2014-08-03)
... ...
PHP Backup
==========
This set of scripts provide a framework for making backups using the PHP language.
It was developed and tested in Ubuntu using PHP 5.5.9 but it might work with lower versions. Because it uses `pcntl_fork`, it does not run on Windows platforms.
It supports out of the box 6 kind of backups: ftp using `wget`, mysql using `mysqldump`, filesystem and individual directories using `tar`, scp and postgresql.
Requirements
------------
* PHP 5.5.9 on *nix platform (it might work with lower PHP versions)
* the tar and bzip2 commands used by the directory and filesystem observers;
* the wget command used by the ftp observer;
* the mysqldump command used by the mysqldump observer;
* the scp and sshpass commands used by the ssh observer;
* the pg_dump command used by the psql observer;
FTP and MySQL backup
--------------------
* make the script executable: `chmod +x php-backup`
* prepare the ini and the csv file
* `cp ftp_and_mysql.ini.dist ftp_and_mysql.ini`
* `touch ftp_and_mysql`
* add the ftp and mysql login information in your ftp_and_mysql file
* run the command: `./php-backup -i ftp_and_mysql.ini`
Filesystem backup
-----------------
This method iterates through a list of paths defined in a CSV file and it creates archives of each children directories (useful when you have all projects in the same directory).
### Usage
* `cp filesystem.ini.dist filesystem.ini` and edit it to suit your needs
* `cp filesystem.dist filesystem`
* edit `filesystem` and add the parent directories, each on a new line
* run the script: `./php-backup -i filesystem.ini`
Directories and MySQL backup
----------------------------
This method reads a CSV file with records made out of a path to a project and the mysql info for that project.
### Usage
* `cp directories_and_mysql.ini.dist directories_and_mysql.ini` and edit it to suit your needs
* `cp directories_and_mysql.dist directories_and_mysql`
* edit `directories_and_mysql` and add the project directory and the mysql info on the same line
* run the script: `./php-backup -i directories_and_mysql.ini`
Directories and PostgreSQL backup
----------------------------
This method reads a CSV file with records made out of a path to a project and the postgresql info for that project.
### Usage
* `cp directories_and_postgresql.ini.dist directories_and_postgresql.ini` and edit it to suit your needs
* `cp directories_and_postgresql.dist directories_and_postgresql`
* edit `directories_and_postgresql` and add the project directory and the postgresql info on the same line
* run the script: `./php-backup -i directories_and_postgresql.ini`
SSH and MySQL backup
----------------------------
This method reads a CSV file with records made out of ssh login info and the project path on the server together with the mysql info for that project.
### Usage
* `cp ssh_and_mysql.ini.dist ssh_and_mysql.ini` and edit it to suit your needs
* `cp ssh_and_mysql.dist ssh_and_mysql`
* edit `ssh_and_mysql` and add the ssh info and the mysql info on the same line
* run the script: `./php-backup -i ssh_and_mysql.ini`
**Note**: You can combine the observers in the ini file as you see fit.
Extending
---------
* create your namespace: `mkdir -p com/example/backup/observers`
* `cd com/example/backup/observers`
* `vi custom.class.php`
* paste this code:
```php
";
$status = $this->execute($subject, $command);
return $status;
}
}
```
* add the observer class to the "observers" section of the ini file:
`custom = Com\Example\Backup\Observers\Custom`
* add your configuration in a new ini section, something like
```
[custom]
name = value
```
accessible in the observer as `$subject->config['custom']['name']`
* run the command: `./php-backup -i .ini`
### Companies using PHP-Backup
* http://webkoenig.ch/
* http://agentur-am-see.ch/
近期下载者:
相关文件:
收藏者: