meb/wn-backup-plugin

备份 Winter CMS 的文件和数据库

安装: 127

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 0

分支: 14

类型:winter-plugin

dev-master 2022-10-26 09:44 UTC

This package is auto-updated.

Last update: 2024-09-26 13:27:20 UTC


README

介绍

此插件允许您创建文件和数据库的备份。它使用惊人的 Laravel 包 spatie/laravel-backup。这是 OC Panakour Backup 插件的分支 https://github.com/panakour/oc-backup-plugin

要求

此备份包需要 PHP 7.1 或更高版本,带有 ZIP 模块Laravel 5.5 或更高版本。与 Windows 服务器不兼容。

插件需要空闲磁盘空间来创建备份。请确保您有 至少 与您要备份的文件总大小一样多的空闲空间。

如果您想备份 MySQL 数据库,请确保您的系统已安装 mysqldump

如果您想备份 PostgreSQL 数据库,请确保您的系统已安装 pg_dump

如果您想备份 Mongo 数据库,请确保您的系统已安装 mongodump

功能

  • 只需单击一下,您就可以
    • 备份整个应用程序。
    • 仅备份数据库。
    • 仅备份文件。
  • 目前支持本地和 Dropbox 存储驱动程序。
  • 支持各种数据库驱动程序(MySQL、PostgreSQL、SQLite 和 Mongo)。
  • 您可以通过 UI 轻松包含和排除一些文件。
  • 支持 gzip 以减小数据库大小。

使用方法

  1. 要配置备份系统,从后端导航到 设置 > 系统 > 备份
  2. 要创建第一个备份,从后端导航到顶部主菜单中的备份部分。从那里,您可以点击按钮创建和下载备份。

存储

Dropbox 使用方法

您需要先在 Dropbox 获取授权令牌。可以在 应用控制台 为任何 Dropbox API 应用生成令牌。更多信息请参阅 Dropbox 开发者博客

然后将以下数组添加到 config/filesystems.php 文件中,包括您的令牌和应用程序名称

'disks' => [
    ...
    'dropbox' => [
        'driver' => 'dropbox',
        'app' => 'app-name',
        'authorizationToken' => 'generated-access-token',
    ]
]

请确保您已从设置中选择 Dropbox 选项。

Webdav 使用方法

然后将以下数组添加到 config/filesystems.php 文件中,包括您的令牌和应用程序名称

'disks' => [
    ...
            'webdav' => [
            'driver' => 'webdav',
            'baseUri' => 'YOUR_WEBDAV_DOMAIN',
            'path_prefix' => '/remote.php/dav/files/USERNAME/', //for nextcloud
            'path_alias' => '',
            'userName' => 'USER',
            'password' => 'PASSWORD',
        ],
]

请确保您已从设置中选择 Webdav 选项。

导出数据库

mysqldumppg_dump 用于导出数据库。如果它们没有安装在默认位置,您可以在 Winter 自己的 database.php 配置文件中添加一个名为 dump.dump_binary_path 的键。请 仅填写二进制文件的路径。不要包含二进制文件本身的名称。

如果您的数据库导出需要很长时间,您可能会超过默认的超时时间 60 秒。您可以通过提供一个指定命令可以运行多长时间(以秒为单位)的 dump.timeout 配置键来设置更高的(或更低的)限制。

以下是一个 MySQL 的示例

//config/database.php
'connections' => [
	'mysql' => [
		'driver'    => 'mysql'
		...,
		'dump' => [
		   'dump_binary_path' => '/path/to/the/binary', // only the path, so without `mysqldump` or `pg_dump`
		   'use_single_transaction',
		   'timeout' => 60 * 5, // 5 minute timeout
		   'exclude_tables' => ['table1', 'table2'],
		   'add_extra_option' => '--optionname=optionvalue', 
		]  
	],

您还可以使用 Artisan 从命令行创建备份。 图片 图片 图片