首页 问答 正文

如何在WordPress中设置自动备份

注册会员 / 悠然自学 / 2023-06-11/ 浏览 149 次

在WordPress中设置自动备份有两种常见的方式:通过插件或者通过代码。

通过插件设置自动备份

WordPress有很多备份插件可供选择,这些插件可以自动备份数据库和文件,并存储备份文件本地或者在云端。以下是几个备份插件的示例:

  1. UpdraftPlus

UpdraftPlus是最常用的备份插件之一,它可以备份数据库和文件,并储存到云端。在WordPress插件市场上搜索UpdraftPlus即可下载安装,具体设置可以参考插件的文档。

  1. BackupBuddy

BackupBuddy是一个功能强大的备份插件,它可以备份整个WordPress网站的内容,并存储到云端。该插件需要购买才能使用,但是安装和设置都非常简单。

  1. WP-DB-Backup

WP-DB-Backup是一个轻量级的备份插件,它只备份数据库,但是非常简单易用。在WordPress插件市场上搜索WP-DB-Backup即可下载安装,需要注意的是,该插件不支持存储到云端。

通过代码设置自动备份

如果不想使用备份插件,也可以通过代码实现自动备份。下面是一个使用WP-Cron自动备份数据库的示例代码:

/**
 * 设置WordPress自动备份
 */
add_action( 'wp_backup', 'backup_database' );
if ( ! wp_next_scheduled( 'wp_backup' ) ) {
    wp_schedule_event( time(), 'daily', 'wp_backup' );
}

/**
 * 备份数据库
 */
function backup_database() {
    // 备份的目录
    $backup_dir = WP_CONTENT_DIR . '/backup/';
    if ( ! file_exists( $backup_dir ) ) {
        mkdir( $backup_dir );
    }
    // 数据库名称
    $dbname = DB_NAME;
    // 备份文件名
    $filename = $dbname . '_' . date( 'Y-m-d-H-i-s' ) . '.sql';
    // 备份命令
    $command = "mysqldump -u" . DB_USER . " -p" . DB_PASSWORD . " " . DB_NAME . " > " . $backup_dir . $filename . " 2>&1";
    exec( $command );
} 

以上代码会在每天执行一次备份数据库操作,并将备份文件储存在/wp-content/backup/目录下。需要注意的是,该方法备份的是数据库,不包括网站文件,如果需要备份网站文件,还需要额外编写代码。

大家谈论
    我的见解