Přidán návod na Cron
This commit is contained in:
parent
ac2d691d06
commit
cf5ab9d5fe
111
guides/crontab.md
Normal file
111
guides/crontab.md
Normal file
@ -0,0 +1,111 @@
|
||||
# Automatické spouštění úloh pomocí `cron`
|
||||
|
||||
`cron` umožňuje automatické spouštění příkazů nebo skriptů v nastavený čas.
|
||||
|
||||
---
|
||||
|
||||
## 🧭 Základní syntaxe
|
||||
|
||||
Každý řádek v `crontab` má tento formát:
|
||||
|
||||
```cron
|
||||
# ┌───────────── minuta (0 - 59)
|
||||
# │ ┌───────────── hodina (0 - 23)
|
||||
# │ │ ┌───────────── den v měsíci (1 - 31)
|
||||
# │ │ │ ┌───────────── měsíc (1 - 12)
|
||||
# │ │ │ │ ┌───────────── den v týdnu (0 - 7) (0 a 7 = neděle)
|
||||
# │ │ │ │ │
|
||||
# │ │ │ │ │
|
||||
# * * * * * příkaz k provedení
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🧮 Význam jednotlivých polí
|
||||
|
||||
| Pole | Rozsah | Popis |
|
||||
|----------------|--------------|---------------------------------------|
|
||||
| **Minuta** | `0-59` | Minuta, kdy se má úloha spustit |
|
||||
| **Hodina** | `0-23` | Hodina ve 24h formátu |
|
||||
| **Den měsíce** | `1-31` | Den v měsíci |
|
||||
| **Měsíc** | `1-12` | Měsíc (`1` = leden, `12` = prosinec) |
|
||||
| **Den týdne** | `0-7` | Den v týdnu (`0` a `7` = neděle) |
|
||||
| **Příkaz** | — | Úplná cesta ke skriptu/příkazu |
|
||||
|
||||
> Použij `*` pro “každou hodnotu”.
|
||||
> Např. `* * * * *` = každou minutu.
|
||||
|
||||
---
|
||||
|
||||
## 💡 Ukázky použití
|
||||
|
||||
```cron
|
||||
# Každý den v 6:00 spustit zálohovací skript
|
||||
0 6 * * * /home/user/scripts/backup.sh
|
||||
|
||||
# Každých 15 minut kontrola stavu
|
||||
*/15 * * * * /home/user/scripts/check_status.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📅 Vytvoření a editace crontabu
|
||||
|
||||
Na Arch Linuxu (a většině systémů) upravíš crontab takto:
|
||||
|
||||
```bash
|
||||
crontab -e
|
||||
```
|
||||
|
||||
Tím se otevře crontab v editoru (např. `nano` nebo `vim`).
|
||||
|
||||
---
|
||||
|
||||
## 📥 Export a verzování crontabu
|
||||
|
||||
Pro správu `crontab` v Git repozitáři:
|
||||
|
||||
### 1. Uložit aktuální `crontab` do souboru
|
||||
|
||||
```bash
|
||||
crontab -l > scripts/crontab
|
||||
```
|
||||
|
||||
### 2. Nahrát zpět do systému
|
||||
|
||||
```bash
|
||||
crontab scripts/crontab
|
||||
```
|
||||
|
||||
### 3. Doporučená struktura v repozitáři
|
||||
|
||||
```
|
||||
repo-root/
|
||||
├── scripts/
|
||||
│ └── crontab
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Tipy pro testování
|
||||
|
||||
- Skripty musí být **spustitelné**:
|
||||
```bash
|
||||
chmod +x script.sh
|
||||
```
|
||||
|
||||
- Používej **absolutní cesty** (např. `/home/user/scripts/muj.sh`)
|
||||
|
||||
- Pro logování výstupu do souboru:
|
||||
```cron
|
||||
0 6 * * * /home/user/scripts/backup.sh >> /var/log/backup.log 2>&1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 Užitečné odkazy
|
||||
|
||||
- [crontab.guru](https://crontab.guru) – snadná vizualizace a kontrola výrazů
|
||||
|
||||
---
|
||||
|
Loading…
x
Reference in New Issue
Block a user