Cara membangunkan pemalam WordPress yang menyandarkan pangkalan data secara automatik
1. Pengenalan
Dengan perkembangan pesat Internet, pangkalan data telah menjadi bahagian penting dalam banyak laman web dan aplikasi. Untuk memastikan keselamatan data, sandaran pangkalan data telah menjadi tugas yang diperlukan. Sebagai salah satu sistem pengurusan kandungan yang paling popular pada masa ini, WordPress mempunyai permintaan yang semakin meningkat untuk sandaran pangkalan data automatik. Artikel ini akan memperkenalkan cara membangunkan pemalam WordPress yang menyandarkan pangkalan data secara automatik dan memberikan contoh kod.
2. Keperluan fungsian
3. Struktur pemalam
Pemalam ini adalah berdasarkan rangka kerja pembangunan pemalam WordPress dan terutamanya terdiri daripada fail berikut:
4. Pembangunan pemalam
Buat fail pemalam utama backup-db.php, tambah menu pemalam dan halaman tetapan:
<?php /* Plugin Name: 自动备份数据库插件 */ add_action('admin_menu', 'backup_db_menu'); function backup_db_menu() { add_menu_page('数据库备份', '数据库备份', 'manage_options', 'backup-db', 'backup_db_settings_page'); } function backup_db_settings_page() { // 渲染设置页面的HTML代码 include_once 'backup-db-admin.php'; } ?>
Buat halaman tetapan fail backup-db- admin.php untuk merealisasikan fungsi pengurusan tugas berjadual :
<?php // 处理POST请求,保存设置 if ($_SERVER['REQUEST_METHOD'] === 'POST') { update_option('backup_db_enabled', isset($_POST['backup_db_enabled'])); update_option('backup_db_interval', ($_POST['backup_db_interval'] ?? 1)); } $backup_db_enabled = get_option('backup_db_enabled'); $backup_db_interval = get_option('backup_db_interval'); ?> <h1>数据库备份设置</h1> <form method="post"> <label> <input type="checkbox" name="backup_db_enabled" <?php if ($backup_db_enabled) echo 'checked'; ?>> 启用自动备份 </label> <br> <label> 备份时间间隔: <select name="backup_db_interval"> <?php for ($i = 1; $i <= 24; $i++) { echo '<option value="' . $i . '" ' . ($backup_db_interval == $i ? 'selected' : '') . '>' . $i . '小时</option>'; }?> </select> </label> <br> <input type="submit" value="保存设置"> </form>
Buat fail tugas berjadual backup-db-cron.php untuk merealisasikan fungsi sandaran pangkalan data:
<?php require_once '../../../../wp-config.php'; require_once 'backup-db-functions.php'; if (get_option('backup_db_enabled')) { add_action('backup_database', 'backup_db'); wp_schedule_event(time(), 'hourly', 'backup_database'); }
Buat fungsi tambahan fail backup-db-functions .php untuk merealisasikan fungsi khusus sandaran pangkalan data:
<?php function backup_db() { global $wpdb; $filename = 'backup-' . date('YmdHis') . '.sql'; $filepath = WP_CONTENT_DIR . '/db-backup/' . $filename; exec('mysqldump -u ' . DB_USER . ' -p' . DB_PASSWORD . ' -h ' . DB_HOST . ' ' . DB_NAME . ' > ' . $filepath); // 简化代码,这里省略了备份文件的数据记录和管理 echo '备份成功,请在' . $filepath . '查看备份文件。'; } ?>
5. Pemasangan dan gunakan
backup-db
,并将该文件夹上传到WordPress的wp-content/plugins
. 6. Ringkasan
Dengan membangunkan pemalam WordPress yang menyandarkan pangkalan data secara automatik, kami telah melaksanakan fungsi menyandarkan pangkalan data secara kerap dan menyediakan antara muka pengurusan yang mudah. Dengan membaca artikel ini dan merujuk kepada contoh kod yang disediakan, anda boleh dengan cepat membangunkan pemalam pangkalan data sandaran automatik yang memenuhi keperluan anda dan hanya mengurus sandaran pangkalan data melalui bahagian belakang WordPress. Ini sangat penting untuk memastikan data tapak web selamat dan mengelakkan kehilangan data secara tidak sengaja. Harap artikel ini membantu anda!
Atas ialah kandungan terperinci Bagaimana untuk membangunkan pemalam WordPress yang menyandarkan pangkalan data anda secara automatik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!