---
title: "Lên lịch backup tự động"
url: https://phatdev.net/docs/sl-migrations/schedule-backup
lang: vi
updated: 2026-10-17
alternate:
  en: https://phatdev.net/en/docs/sl-migrations/schedule-backup
markdown: https://phatdev.net/docs/sl-migrations/schedule-backup.md
---

# Lên lịch backup tự động

Thuộc bộ tài liệu: [SL Migrations](https://phatdev.net/docs/sl-migrations.md)

> Cấu hình lịch backup định kỳ qua WP-Cron hoặc system cron.

## Tạo schedule

1. **SL Migrations → Schedules → Create New**
2. Cấu hình:
   - **Name** - tên lịch
   - **Template** - chọn template package (mặc định OK)
   - **Storage** - chọn một hoặc nhiều storage để lưu kết quả
   - **Repeats** - Hourly / Daily / Weekly / Monthly
   - **Start Time** - giờ chạy mỗi lần
3. **Save** → schedule kích hoạt ngay.

## Cách cron hoạt động

SL Migrations đăng ký một WP-Cron event chạy mỗi phút để kiểm tra schedule nào đã đến hạn và thực thi. Tuy nhiên WordPress không có cron daemon riêng - event chỉ được fire khi có một trong hai điều xảy ra:

### Cách 1: WP-Cron mặc định

Mỗi pageview frontend tự fire `wp-cron.php` qua HTTP loopback. Site có traffic đều thì schedule sẽ chạy gần đúng giờ.

**Hạn chế**: Site không có người vào (idle) → WP-Cron không fire → backup không chạy đúng giờ.

### Cách 2: System cron (khuyến nghị cho site có schedule quan trọng)

Tắt WP-Cron mặc định và để hệ thống cron của server gọi `wp-cron.php`:

```php
// wp-config.php
define('DISABLE_WP_CRON', true);
```

Sau đó setup cron entry trên server. Mỗi nhà cung cấp hosting có cách khác nhau:
- **Shared hosting**: dùng giao diện cPanel/Plesk → Cron Jobs → thêm dòng tương tự bên dưới
- **VPS / dedicated**: dùng `crontab -e` để chỉnh sửa
- **WordPress managed hosting**: thường đã có sẵn - kiểm tra với hosting provider

Lệnh tham khảo (chạy mỗi phút):

```
* * * * * curl -s "https://example.com/wp-cron.php?doing_wp_cron" >/dev/null 2>&1
```

Cách này bảo đảm backup chạy đúng giờ kể cả khi site không có traffic.

## Verify schedule đã đăng ký

Vào **SL Migrations → Schedules** → cột **Next Run Time** sẽ hiển thị thời điểm chạy kế tiếp. Nếu thấy "-" hoặc thời gian trong quá khứ, schedule chưa được trigger.

## Xử lý lịch fail

Xem [Khắc phục schedule fail](https://phatdev.net/docs/sl-migrations/how-to-resolve-schedule-build-failures).
