| 开发者 | jkirker |
|---|---|
| 更新时间 | 2026年11月8日 23:35 |
| PHP版本: | 8.2 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
.btfuignore file) and database tables (structure-only, with core tables locked out — see FAQ).wp btfu snap "note", list, restore, verify, prune, doctor, selftest.In a .btfu-store-<random> directory — outside the web root when possible, otherwise inside wp-content guarded by .htaccess/web.config and verified by an actual HTTP canary check (nginx ignores .htaccess, so we prove protection instead of assuming it).
Core tables cross-reference each other by ID. Restoring posts without postmeta produces silent corruption, not a smaller backup. Non-core tables (analytics, logs, queues) can be excluded — they are stored structure-only, restore leaves their live data untouched, and strict-mode restores will never drop them.
A safety snapshot is taken automatically before every restore, so you can roll back the rollback. If WordPress itself won't load, the rescue script restores from the CLI: php btfu-rescue-xxxx.php --list then --restore <id>.
No — and the UI never claims it does. Snapshots share unchanged files via hardlinks. Each snapshot's listed "unique" size is what deleting it actually reclaims.
Probably. Snapshots save space by hardlinking unchanged files to the previous snapshot, and some server-level backups — DirectAdmin's hard-link check in particular, and some cPanel and JetBackup setups — abort an account's backup when they find hard links in its home directory.
The fix is to exclude the snapshot store from the server backup; same-server checkpoints don't belong in an off-server backup anyway. BTFU → Settings (and wp btfu doctor) shows the exact directory to exclude when your store sits inside a home directory. On DirectAdmin, add that path, relative to your home directory, as a line in ~/.backup_exclude_paths; if backups still abort, the server admin can turn off DirectAdmin's backup_hard_link_check. The store also carries a CACHEDIR.TAG, which borg, restic and other tools honor automatically.
If you can't exclude it, BTFU → Settings → Storage can store every snapshot as a full copy with no hardlinks. That costs much more disk (every snapshot is a complete copy), makes the server backup larger, and does not convert existing snapshots — delete those afterwards.
It's designed for development. It will run in production, but it warns you persistently, and you should listen to it.
Yes. BTFU snapshots live on the same server as the site — they protect you from your own changes, not from disk failure, a compromised server, or a hosting disaster. Keep your normal off-server backups, and have one before your first restore.
wp btfu doctor / selftest now say exactly which directory to exclude from server-level backups (DirectAdmin, cPanel, JetBackup) that abort on hard links.CACHEDIR.TAG, so borg, restic, rsnapshot and tar --exclude-caches skip it automatically. Existing stores get it on update.wp btfu diff.)wp btfu diff <a> <b> [--files].--skip-files/--skip-db/--only=<path>, the admin-bar dialog for files/database, and the rescue script).wp btfu selftest — one-command end-to-end health check (snapshot → verify → delete round-trip), exits non-zero on failure.wp btfu doctor reports any operation in progress.