Tento článek popisuje, jak nastavit adresáře a skripty, aby cron spouštěl různé akce v pravidelných časech.
Tento článek používá pico
textový editor, ale můžete použít jakýkoli textový editor, který chcete, například vi
, vim
nebo nano
.
Nastavení systémových skriptů a adresářů
Pomocí následujících příkazů nastavte systémové skripty a adresáře pro spouštění cron:
[user@server ~]$ sudo mkdir /usr/local/sbin/continuous.active
[user@server ~]$ sudo mkdir /usr/local/sbin/continuous.inactive
[user@server ~]$ sudo mkdir /usr/local/sbin/hourly.active
[user@server ~]$ sudo mkdir /usr/local/sbin/hourly.inactive
[user@server ~]$ sudo mkdir /usr/local/sbin/daily.active
[user@server ~]$ sudo mkdir /usr/local/sbin/daily.inactive
[user@server ~]$ sudo mkdir /usr/local/sbin/weekly.active
[user@server ~]$ sudo mkdir /usr/local/sbin/weekly.inactive
Nastavit skript pro nepřetržité úlohy
Spuštěním následujícího příkazu vytvořte soubor skriptu pro nepřetržité úlohy a otevřete jej v textovém editoru:
[user@server ~]$ sudo pico /usr/local/sbin/continuous.sh
Vložte následující skript ke spuštění každého kontejneru a všech skriptů uložených uvnitř v zadaném intervalu:
#!/bin/bash
ACTIVE_SCRIPTS_DIR=/usr/local/sbin/continuous.active
for module in `find "$ACTIVE_SCRIPTS_DIR" -maxdepth 1 -mindepth 1 -type f`; do
if [ -x $module ]; then
$module
fi
done
Spusťte následující příkaz a vytvořte continuous.sh spustitelný skript:
[user@server ~]$ sudo chmod u+x /usr/local/sbin/continuous.sh
Nastavit skript pro hodinové úlohy
Spuštěním následujícího příkazu vytvořte soubor skriptu pro hodinové úlohy a otevřete jej v textovém editoru:
[user@server ~]$ sudo pico /usr/local/sbin/hourly.sh
Vložte následující skript ke spuštění každého kontejneru a všech skriptů uložených v hodině:
#!/bin/bash
ACTIVE_SCRIPTS_DIR=/usr/local/sbin/hourly.active
for module in `find "$ACTIVE_SCRIPTS_DIR" -maxdepth 1 -mindepth 1 -type f`; do
if [ -x $module ]; then
$module
fi
done
Spusťte následující příkaz a vytvořte soubor hourly.sh spustitelný skript:
[user@server ~]$ sudo chmod u+x /usr/local/sbin/hourly.sh
Nastavit skript pro každodenní úlohy
Spuštěním následujícího příkazu vytvořte soubor skriptu pro denní úlohy a otevřete jej v textovém editoru:
[user@server ~]$ sudo pico /usr/local/sbin/daily.sh
Chcete-li každý kontejner a všechny skripty uchovávané uvnitř denně spouštět, vložte následující skript:
#!/bin/bash
ACTIVE_SCRIPTS_DIR=/usr/local/sbin/daily.active
for module in `find "$ACTIVE_SCRIPTS_DIR" -maxdepth 1 -mindepth 1 -type f`; do
if [ -x $module ]; then
$module
fi
done
Spusťte následující příkaz a vytvořte soubor daily.sh spustitelný skript:
[user@server ~]$ sudo chmod u+x /usr/local/sbin/daily.sh
Nastavit skript pro týdenní úlohy
Spuštěním následujícího příkazu vytvořte soubor skriptu pro týdenní úlohy a otevřete jej v textovém editoru:
[user@server ~]$ sudo pico /usr/local/sbin/weekly.sh
Chcete-li každý týden spouštět každý kontejner a všechny skripty uložené uvnitř, vložte následující skript:
#!/bin/bash
ACTIVE_SCRIPTS_DIR=/usr/local/sbin/weekly.active
for module in `find "$ACTIVE_SCRIPTS_DIR" -maxdepth 1 -mindepth 1 -type f`; do
if [ -x $module ]; then
$module
fi
done
Spusťte následující příkaz a vytvořte weekly.sh spustitelný skript:
[user@server ~]$ sudo chmod u+x /usr/local/sbin/weekly.sh
Přidat skripty do souboru crontab
Soubor crontab obsahuje seznam příkazů, které mají být spouštěny v určených časech. K úpravě souboru crontab použijte následující příkaz:
[user@server ~]$ sudo crontab -e
Každý řádek v souboru crontab má pět polí data a času v následujícím formátu:
minute (0-59) hour (0-23) day (1-31) month (1-12) weekday (0-6)
Pokud chcete skript spustit několikrát za časovou jednotku, můžete použít formát */n
, kde n
je počet, kolikrát chcete skript spustit.
Přidejte do souboru crontab následující položky:
MAILTO= [email protected]
*/5 * * * * /usr/local/sbin/continuous.sh
6 */1 * * * /usr/local/sbin/hourly.sh
16 02 * * * /usr/local/sbin/daily.sh
26 03 * * 0 /usr/local/sbin/weekly.sh
Pomocí karty Zpětná vazba můžete přidat komentáře nebo položit otázky. Můžete také [s námi zahájit konverzaci](https://www.rackspace.com/contact).