# Kizárások: fájlok, mappák, adatbázis-táblák és egész oldalak

> Hogyan hagyhatsz ki fájlokat, mappákat, adatbázis-táblákat a mentésből, és hogyan állíthatod be, hogy egy oldal soha ne mentsen.

Alapesetben az UpdraftPlus mindent ment, és ez a biztonságos beállítás: mindig jobb, ha több van elmentve, mint kevesebb. Ha mégis ki akarsz hagyni valamit, ennek több módja van.

## Fájlok és mappák kizárása

### 1. Kizárási szabály a beállításokban

A **Beállítások** fülön, a **Felvétel a fájlmentésbe** résznél a **Feltöltések** és az **Egyéb** csoport alatt vannak a kizárási szabályok. A felsorolt fájlok és mappák kimaradnak a mentésből.

1. Kattints a **Kizárási szabály hozzáadása** hivatkozásra.
2. Írd be a kizárandó fájl vagy mappa nevét.
3. Kattints a **Módosítások mentése** gombra.

A szabály elején vagy végén használhatsz csillagot (`*`) helyettesítő karakterként: így az adott szinten minden, a mintára illő nevű fájl vagy mappa kimarad. Az alapértelmezett szabályok így zárják ki több másik mentőbővítmény mappáit. Példa: a `Backup*` a feltöltések mappában kizár minden `Backup`-pal kezdődő nevű elemet, a `2015/05` pedig a teljes `wp-content/uploads/2015/05` mappát.

Több szabályt vesszővel válassz el, szóköz nélkül. Figyelj arra, hogy a megfelelő csoport alatt add meg őket.

### 2. `.donotbackup` fájl

Ha egy mappában létrehozol egy `.donotbackup` nevű (idézőjelek nélküli) fájlt, az a mappa és az összes almappája kimarad a mentésből.

### 3. Kizárás kiterjesztés szerint

Két módon zárhatsz ki adott kiterjesztésű fájlokat:

- A kizárási szabályba `ext:` előtaggal írod, például `ext:mp3,ext:mp4`.
- Vagy a `wp-config.php`-ban megadod a `UPDRAFTPLUS_EXCLUDE_EXTENSIONS` állandót (a kiterjesztéseket itt is vesszővel válaszd el):

```php
define('UPDRAFTPLUS_EXCLUDE_EXTENSIONS', 'mp3,mp4');
```

### 4. Kizárás fájlnév eleje szerint

Ez a kiterjesztés szerinti kizárás párja: a szabályba `prefix:` előtaggal írd a fájlnév elejét. Például a `prefix:abc` kizár minden olyan fájlt, amelynek neve `abc`-vel kezdődik.

### 5. Mappák kizárása WordPress-szűrővel

Rövid kódrészlettel (például kötelezően használt bővítményként, vagy a gyermeksablon `functions.php` fájljában) bármely mappát kizárhatsz. A szűrő neve `updraftplus_exclude_directory`: visszatérési értéke logikai (`true` = kihagyja, `false` = nem hagyja ki, ez az alapérték), a másik paramétere a mappa teljes útvonala. Példa, amely minden `.git` mappát kihagy:

```php
add_filter('updraftplus_exclude_directory', 'my_updraftplus_exclude_directory', 10, 2);
function my_updraftplus_exclude_directory($filter, $dir) {
    return (basename($dir) == '.git') ? true : $filter;
}
```

### 6. Fájlok kizárása WordPress-szűrővel

Ugyanígy működik az `updraftplus_exclude_file` szűrő egyes fájlokra. A következő példa minden `bertie.jpg` nevű fájlt kihagy:

```php
add_filter('updraftplus_exclude_file', 'my_updraftplus_exclude_file', 10, 2);
function my_updraftplus_exclude_file($filter, $file) {
    return (basename($file) == 'bertie.jpg') ? true : $filter;
}
```

## Adatbázis-tábla kizárása

A beállítóoldalon közvetlenül nem adható meg, de WordPress-szűrővel kizárhatsz egy adatbázis-táblát. Gondold meg jól, mielőtt megteszed: az adatbázis hiányos mentése később kárt okozhat.

1. Hozz létre egy `wp-content/mu-plugins` mappát, ha még nincs.
2. Ebben hozz létre egy `.php` végű fájlt, például `wp-content/mu-plugins/prevent-table.php` néven, ezzel a tartalommal:

```php
<?php
add_filter('updraftplus_backup_table', 'my_updraftplus_backup_table', 11, 5);
function my_updraftplus_backup_table($go_ahead, $table, $table_prefix, $whichdb, $dbinfo) {
    $tables_to_not_back_up = array('wp_my_table', 'wp_some_other_table');
    if (in_array($table, $tables_to_not_back_up)) return false;
    return $go_ahead;
}
```

A `$tables_to_not_back_up` tömbbe annyi táblanevet írhatsz, amennyit szeretnél.

A szűrő paraméterei összetettebb feltételekhez is használhatók. A `$whichdb` értéke `wp` a WordPress-adatbázisnál, a további adatbázisoknál nullától induló egész szám (ez a fizetős kiadás több adatbázisos mentése). A `$dbinfo` tömb az adatbázis adatait (kiszolgáló, felhasználónév, jelszó) tartalmazza, ezzel ellenőrizheted, hogy a megfelelő adatbázisnál jársz-e, ha több adatbázisban azonos nevű táblák vannak.

> **Figyelem**
>
> Ha a fájl elmentése után eltűnik az oldalad, szintaktikai hiba van a fájlban. Töröld a fájlt, és az oldal visszatér.

Ez a lehetőség az ingyenes kiadás 1.9.65-ös, a fizetős kiadás 2.9.65-ös változatától érhető el.

## Egy oldal, amely soha nem mentsen

Előfordul, hogy a fejlesztői oldalra (az éles oldal másolatára) visszaállítod az éles oldal mentését, de a fejlesztői oldal ne készítsen saját mentést. Ehhez kötelezően használt bővítményként add hozzá ezt a kódot: hozz létre egy `wp-content/mu-plugins` mappát, és abba egy `.php` végű fájlt (például `no-backups.php`):

```php
<?php
add_filter('updraftplus_boot_backup', '__return_false');
```

Ha az éles oldalon is vannak kötelezően használt bővítmények, a visszaállítás ezt a fájlt felülírhatja. Ennek elkerülésére mindkét oldalon használhatsz egy összetettebb változatot, amely az oldal címe alapján dönt (a `localhost` helyére írd a fejlesztői oldal címének egy jellemző részét):

```php
<?php
add_filter('updraftplus_boot_backup', 'my_updraftplus_boot_backup');
function my_updraftplus_boot_backup($go_ahead) {
    return (false !== strpos(site_url(), 'localhost')) ? false : $go_ahead;
}
```
