ifmx/webbackupper

一个简单的PHP WebBackupper,用于备份Wordpress实例、数据库、文件夹以及本地的FTP/SFTP文件夹和FTP/SFTP服务器上的文件夹

1.2.1 2023-12-21 13:22 UTC

This package is auto-updated.

Last update: 2024-09-21 15:01:26 UTC


README

Licensed under the MIT License Requires PHP 7.4.0

WebBackupper

一个简单的PHP WebBackupper,用于备份Wordpress实例、数据库、文件夹以及本地的FTP/SFTP文件夹和FTP/SFTP服务器上的文件夹

本项目旨在提供一个简单的Web Backupper,用于将网页或项目备份到FTP/SFTP服务器

手册

1. 将文件复制到web服务器

2. 复制 config_sample.php 并将其重命名为 config.php

3. 编辑 config.php 文件

  1. Wordpress实例(如果不需要,让数组为空 - 'wordpress' => []
    // WP-Directory 1 with default wp-content folder
    'TestWordpress' => '/home/var/www/site1',
    // WP-Directory 2 with custom folders
    'TestWordpress' => [
       'rootDirectory' => '/home/var/www/site2',
       'directories' => [
           // Folder 1
          'wp-data',
           // Folder 2
           'wp-admin'
       ],
    ]
    
  2. Web应用(数据库和文件夹)(如果不需要,让数组为空 - 'webapps' => []
    'webapps' => [
    
        // Webapp 1
        'TestDb' => [
            'directories' => [
            
                // Folder
                '/home/var/www/folder',
                '/home/var/www/folder1'
            ],
    
            // Database informations
            'db' => [
                'name' => 'db_name',
                'host' => 'https://db.host.com',
                'port' => '3306', // optional
                'username' => 'username',
                'password' => 'password'
            ]
        ]
    ]
    
  3. 数据库(如果不需要,让数组为空 - 'databases' => []
    'databases' => [
    
        // Database 1
        'TestDb' => [
            'name' => 'db_name',
            'host' => 'https://db.host.com',
            'port' => '3306', // optional
            'username' => 'username',
            'password' => 'password'
        ]
    ]
    
  4. 目录(如果不需要,让数组为空 - 'directories' => []
    'directories' => [
        // one folder
        'TestFolder' => '/home/var/www/folder',
        // multiple folders
        'TestMultipleFolders' => [
            '/home/var/www/folder1',
            '/home/var/www/folder2'
        ]
    ]
    
  5. FTP文件(如果不需要,让数组为空 - 'ftps' => []
    'ftps' => [
    
        // FTP-Config 1
        'TestFtp' => [
            'isSftp' => false,
            'host' => 'sftp.mydomain.com',
            'port' => '21',
            'username' => 'backup',
            'password' => '***',
            'path' => 'my/folder/'
        ]
    ]
    
  6. 系统
    'system' => [
        'debug' => $debug_mode,        // is debug mode on
        'localBackupCopies' => 10,     // number of local backups before delete
        'timezone' => 'Europe/Zurich', // timezone
        'logToFile' => true,           // write log to file
        'sendLogEmail' => true,        // send email to webmaster
        'webmasterEmailAddress' => 'webmaster@mydomain.com'
    ]
    
  7. 系统目录
    'sysDirectories' => [
        'backup' => 'backup', // path to backup folder
        'log' => 'log'        // path to log folder
    ],
    
  8. 路径
    'paths' => [
        'mysqldump' => '/usr/local/bin' // Path to mysqldump
    ]
    
  9. FTP上传设置
    1. 只有一个FTP配置
      'backupFtp' => [
          'enabled' => false,
          'connections' => [
              'isSftp' => true,
              'host' => 'sftp.mydomain.com',
              'port' => '22',
              'username' => 'backup',
              'password' => '***',
              'path' => 'backup/web/'
          ]
      ]
      
    2. 多个FTP配置
      'backupFtp' => [
          'enabled' => false,
          'connections' => [
              'NAS' => [
                  'isSftp' => true,
                  'host' => 'sftp.mydomain.com',
                  'port' => '22',
                  'username' => 'backup',
                  'password' => '***',
                  'path' => 'backup/web/'
              ]
          ]
      ]
      

4. 创建cli任务

创建一个运行PHP8.2的cli.php的任务。每次任务运行时,备份作业将会完成。