GNU/Linux >> Znalost Linux >  >> Linux

Jak spouštět Cron každých 5 minut, sekund, hodin, dnů, měsíců

Otázka: Jak mohu spustit určitý skript Shell v určitých intervalech v Linuxu pomocí úlohy cron? Uveďte příklady s použitím různých časových období.

Odpověď: Crontab lze použít k naplánování úlohy, která běží na určitém interním. Zde uvedený příklad ukazuje, jak spustit skript shellu backup.sh pomocí různých intervalů.

Nezapomeňte si také přečíst náš předchozí článek o crontab, který obsahuje 15 praktických příkladů a také vysvětluje @monthly, @daily, .. tagy, které můžete použít ve svém crontab.

1. Proveďte úlohu cron každých 5 minut

První pole je pro minuty. Pokud do tohoto pole zadáte *, spustí se každou minutu. Pokud zadáte */5 v 1. poli, spustí se každých 5 minut, jak je uvedeno níže.

*/5 * * * * /home/ramesh/backup.sh

Poznámka: Stejným způsobem použijte */10 na každých 10 minut, */15 na každých 15 minut, */30 na každých 30 minut atd.

2. Proveďte úlohu cron každých 5 hodin

Druhé pole je na hodiny. Pokud do tohoto pole zadáte *, spustí se každou hodinu. Pokud zadáte */5 do 2. pole, spustí se každých 5 hodin, jak je uvedeno níže.

0 */5 * * * /home/ramesh/backup.sh

Poznámka: Stejným způsobem použijte */2 pro každé 2 hodiny, */3 pro každé 3 hodiny, */4 pro každé 4 hodiny atd.

3. Proveďte úlohu každých 5 sekund

Cron úlohu nelze použít k naplánování úlohy v sekundových intervalech. tj. nemůžete naplánovat spouštění úlohy cron každých 5 sekund. Alternativou je napsat shellový skript, který v něm používá příkaz „sleep 5“.

Vytvořte skript shellu every-5-seconds.sh pomocí bash while loop, jak je ukázáno níže.

$ cat every-5-seconds.sh
#!/bin/bash
while true
do
 /home/ramesh/backup.sh
 sleep 5
done

Nyní spusťte tento shell skript na pozadí pomocí nohup, jak je znázorněno níže. Skript se bude nadále spouštět i po odhlášení z relace. Toto spustí váš skript backup.sh shell každých 5 sekund.

$ nohup ./every-5-seconds.sh &

4. Proveďte úlohu každý 5. pracovní den

Tento příklad není o plánování „každých 5 dní“. Ale to je pro plánování „každý 5. den v týdnu“.

5. pole je DOW (den v týdnu). Pokud do tohoto pole zadáte *, bude se spouštět každý den. Chcete-li spouštět každý pátek, zadejte do tohoto pole buď 5 z pá.

Následující příklad spouští backup.sh každý pátek o půlnoci.

0 0 * * 5 /home/ramesh/backup.sh
(or)
0 0 * * Fri /home/ramesh/backup.sh

Můžete buď uživatelské číslo, nebo odpovídající třípísmennou zkratku pro den v týdnu, jak je uvedeno níže.

  • 0=Slunce
  • 1=Po
  • 2=Úterý
  • 3=St
  • 4=Čt
  • 5=Pá
  • 6=So

Poznámka: Zvykněte si používat Pá místo 5. Upozorňujeme, že číslo začíná 0 (nikoli 1) a 0 je pro Ne (ne Po).

5. Proveďte úlohu každých 5 měsíců

Neexistuje žádný přímý způsob, jak říci „každých 5 měsíců“, místo toho musíte určit, ve kterých konkrétních měsících chcete úlohu spustit. Pravděpodobně budete chtít spustit úlohu 5. měsíc (květen) a 10. měsíc (říjen).

Čtvrté pole je pro měsíce. Pokud do tohoto pole zadáte *, spustí se každý měsíc. Chcete-li spustit pro konkrétní měsíc, musíte zadat číslo, které odpovídá měsíci. Chcete-li například spustit úlohu v květnu a říjnu, měli byste zadat 5,10 (nebo) můžete jednoduše použít 3písmennou zkratku měsíce a zadat květen, říjen.

Třetí pole je pro DOM (Den v měsíci). Pokud do tohoto pole zadáte *, spustí se každý den v měsíci. Pokud v tomto měsíci zadáte 1, spustí se 1. den v měsíci.

Následující příklad spouští backup.sh dvakrát ročně. tj. 1. května o půlnoci a 1. října o půlnoci.

0 0 1 5,10 * /home/ramesh/backup.sh
(or)
0 0 1 May,Oct * /home/ramesh/backup.sh

Poznámka: Nedělejte chybu, když do 4. pole uvedete 5-10, což znamená od 5. měsíce do 10. měsíce. Pokud chcete pouze 5. a 10. měsíc, měli byste použít čárku.


Linux
  1. Jak říct Cronovi, aby spouštěl příkaz každý druhý den (lichý/sudý)?

  2. Jak spustit úlohu cronu v určité dny v týdnu

  3. Jak nastavit úlohu cron, aby každou hodinu spouštěla ​​spustitelný soubor?

  1. Jak spustit úlohu cron každou hodinu a 10 minut

  2. Jak opakovaně spouštět bash skript každých N sekund?

  3. Spuštění Cron každé 2 hodiny

  1. Jak spustit nebo opakovat příkaz Linuxu každých X sekund navždy

  2. jak spustit cron job každé 3 měsíce?

  3. Jak spustit úlohu cronu každý den v určitou hodinu?