Neler yeni

Cronjob nedir?

Oğuz

OLD
Elmas
Katılım
19 Aralık 2020
Mesajlar
254
Tepkime puanı
236
Konum
Çanakkale / Türkiye
İlgi Alanlarınız
Teknoloji, Kişisel Blog ve daha niceleri.
Cinsiyet
  1. Erkek

Cron istenilen görevlerin belirli zaman araliklari ile arkaplanda yapilmasina izin veren bir UNIX aracidir.



2- Crontab (Cron TABle) Nedir?

Çalistirilacak görevi ve görevin çalistirilacagi zamani barindiran dosyadir.

2.1- Crontab Sinirlamalari

Crontab'i kullanici adiniz usr/lib/cron/cron.allow dosyasinda varsa veya böyle bir dosya bulunmuyorsa ve adiniz usr/lib/cron/cron.deny dosyasinda yoksa kullanabilirsiniz.

Tüm kullanicilarin Crontab'i kullanabilmesi için usr/lib/cron/cron.deny dosyasinin bulunmasi ve bos olmasi gerekir. usr/lib/cron/cron.deny dosyasi bulunmuyorsa Crontab'i yalnizca Root kullanici kullanabilir.

2.2- Crontab Komutlari

crontab -e Crontab dosyasi bulunuyorsa düzenlemenizi, bulunmuyorsa yaratmasinizi saglar.
crontab -l Crontab dosyasini gösterir
crontab -r Crontab dosyasini siler
crontab -v Crontab dosyasinin en son düzenlendigi tarihi gösterir

2.3- Crontab Dosyasi

Crontab Dizilimi:

Crontab dosyasi sirasi ile Dakika (0-59), Saat (0-23), Ayin Günü (1-31), Ay (1-12) ve Haftanin Günü (0-6) (Pazar = 0) alanlarini ve çalistirilacak komutu barindirir. "*" (tirnaklar hariç) kullanildigi alan için kullanilabilinecek tüm degerleri ifade eder. Bir alan için girilecek birkaç deger ","(virgül) ile ayrilabilir.

* * * * * Çalistirilacak Komut
- - - - -
| | | | |
| | | | +----- haftanin günü (0 - 6) (Pazar=0)
| | | +------- ay (1 - 12)
| | +--------- ayin günü (1 - 31)
| +----------- saat (0 - 23)
+------------- dakika (0 - 59)

2.4- Örnek Crontab Dosyasi

Hergün saat 18:30'da /tmp klasöründeki dosyalari silen crontab satiri asagidaki gibidir.

30 18 * * * rm /home/kullaniciadi/tmp/*

Asagida birkaç zamanlama örnegi ve çalistirilma zamanlari verilmistir.

dak saat gün/ay ay gün/hafta Çalistirilma Zaman

30 0 1 1,6,12 * --> Ocak, Haziran ve Aralik aylarinin birinci günü saat 00:30'da
0 20 * 10 1-5 -- > Ekim ayinin her Pazartesi ve Cumasi saat 20:00'de
0 0 1,10,15 * * --> Her ayin 1'inde, 10'unda ve 15'inde gece yarisi (00:00)
5,10 0 10 * 1 --> Pazartesileri ve her ayin 10. gününde saat 12:05 ve 12.10'da

2.5- Crontab Sabitleri


Cron, kullanici ev dizinindeki komutu kabuk yardimiyla çalistirir (/usr/bin/sh) ve tüm kabuklar için destekledigi bazi degerler vardir.

Bunlar;

HOME= Kullanici ev dizini
LOGNAME= Kullanici giris adi
PATH= /usr/bin:/usr/sbin:.
SHELL= /usr/bin/sh

2.6 Email Iptali

Cron, öntanimli olarak islemi gerçeklestirdiginde kullaniciya email gönderir. Eger bunun gerekli olmadigini düsünüyorsaniz asagidaki kodu cron görev satirinin sonuna eklemelisiniz.

>/dev/null 2>&1

örn: 30 18 * * * rm /home/kullaniciadi/tmp/* >/dev/null 2>&1

2.7- Log Dosyasi Olusturma

Cron'un yaptigi islemleri bir log dosyasinda tutmak isterseniz,

30 18 * * * rm /home/someuser/tmp/* > /home/someuser/cronlogs/clean_tmp_dir.log

3- Cpanel'de Cronjobs

Cpanel altinda Cronjobs kisminda cronjob yaratmak için 2 farkli mod bulunmaktadir.

3.1- Standart Mod

Standart mod çogu yeni kullanici için daha uygundur. Bu seçenek gerekli ayarlarin formdan
seçilebilmesini sagladigindan islemin daha hizli ve basit yapilabilmesini saglar. Standart mod 12
saatlik biçemi kullanmakta böylece kullanicinin istedigi zamani seçmesini kolaylastirmaktadir.
(AM= 0-12, PM= 12-23)

3.1.1- Standart Mod ile Cronjob Ekleme

Standart modda kullanicidan islemin yapilacagi zamani seçmesi, rapor gönderilecek mail adresi ve
yapilacak islemi girmesi istenir.


Formun en üstündeki alana islem gerçeklestiginde ya da bir hata olustugunda rapor gelmesi istenen adres girilir.

Ikinci olarak yapilacak olan islemin girilmesi gerekir. Buraya tüm unix komutlari girilebilir.

Örn: Bir klasörün tüm içerigini silmek için :

rm home/kullaniciadi/tmp/*

komutu kullanilabilir. Bu komutta da oldugu gibi "*" karakteri (joker karakter) cron tarafindan da desteklenmektedir. Bu komutda "*" /tmp klasöründeki tüm dosyalari temsil ettiginden /tmp klasörünün tüm içerigi silinecektir.

Üçüncü olarak islemin yapilacagi tarihi seçilir.

Son olarak Kaydet (Save Crontab) diyerek islem tamamlanir.

3.2- Gelismis Mod (UNIX Tarzi) --Advanced (UNIX Style)--

Gelismis mod UNIX tarzi cronjob eklemeyi destekler.

Deneyimli kullanicilar için daha uygundur.

3.2.1- Gelismis Mod ile Cronjob Ekleme

Gelismis modda ilk alana rapor gelmesi istenen email adresi girilir. Ardindan çalistirilma zamanini belirlemek için sirasi ile Dakika, Saat, Ayin günü, Ay ve Haftanin günü yazilir. Son olarak "Command" kismina çalistirilmasi istenilen komut girilerek "Commit Changes"e tiklanir.

4- Cronjob Hakkinda birkaç ipucu

a)
Görevlerin çalistirilma zamanini belirlerken birden fazla deger virgül ile ayrilarak yazilabilir.
Ayrica asagidaki kodlar da islemin 1, 2, 5, 10 ve 15 dakika, 1, 2, 4 ve 6 saat ara ile çalistirilmasini saglar.

Her dakika */1 Her saat */1
Iki dakikada */2 Iki saatte */2
Bes dakikada */5 Dört saatte */4
On dakikada */10 Alti saatte */6
Onbes dakikada */15

b) Cronjobsta UNIX komutlarinin disinda PHP ve MySQL komutlarini da kullanabilmek için gerekli
kodlarin yazili oldugu dosyanin GET methodu ile çagrilmasi yeterli olur.

Konumu blog adresimdende okuyabilirsiniz : http://sybercodev1.blogspot.com/2020/12/cronjobs-nedir.html
 

KocaReis

Developer
Katılım
18 Aralık 2020
Mesajlar
317
Tepkime puanı
463
Eline koluna sağlık
 

Jon Snow

Altın Üye
Katılım
20 Aralık 2020
Mesajlar
101
Tepkime puanı
96
İlgi Alanlarınız
yokki
Cinsiyet
  1. Erkek
Ellerine sağlık
 

Tosun

tosunc.uk
Moderatör
Katılım
19 Aralık 2020
Mesajlar
835
Tepkime puanı
1,019
İlgi Alanlarınız
o
Cinsiyet
  1. Erkek
Eline sağlık hocam

Cron istenilen görevlerin belirli zaman araliklari ile arkaplanda yapilmasina izin veren bir UNIX aracidir.



2- Crontab (Cron TABle) Nedir?

Çalistirilacak görevi ve görevin çalistirilacagi zamani barindiran dosyadir.

2.1- Crontab Sinirlamalari

Crontab'i kullanici adiniz usr/lib/cron/cron.allow dosyasinda varsa veya böyle bir dosya bulunmuyorsa ve adiniz usr/lib/cron/cron.deny dosyasinda yoksa kullanabilirsiniz.

Tüm kullanicilarin Crontab'i kullanabilmesi için usr/lib/cron/cron.deny dosyasinin bulunmasi ve bos olmasi gerekir. usr/lib/cron/cron.deny dosyasi bulunmuyorsa Crontab'i yalnizca Root kullanici kullanabilir.

2.2- Crontab Komutlari

crontab -e Crontab dosyasi bulunuyorsa düzenlemenizi, bulunmuyorsa yaratmasinizi saglar.
crontab -l Crontab dosyasini gösterir
crontab -r Crontab dosyasini siler
crontab -v Crontab dosyasinin en son düzenlendigi tarihi gösterir

2.3- Crontab Dosyasi

Crontab Dizilimi:

Crontab dosyasi sirasi ile Dakika (0-59), Saat (0-23), Ayin Günü (1-31), Ay (1-12) ve Haftanin Günü (0-6) (Pazar = 0) alanlarini ve çalistirilacak komutu barindirir. "*" (tirnaklar hariç) kullanildigi alan için kullanilabilinecek tüm degerleri ifade eder. Bir alan için girilecek birkaç deger ","(virgül) ile ayrilabilir.

* * * * * Çalistirilacak Komut
- - - - -
| | | | |
| | | | +----- haftanin günü (0 - 6) (Pazar=0)
| | | +------- ay (1 - 12)
| | +--------- ayin günü (1 - 31)
| +----------- saat (0 - 23)
+------------- dakika (0 - 59)

2.4- Örnek Crontab Dosyasi

Hergün saat 18:30'da /tmp klasöründeki dosyalari silen crontab satiri asagidaki gibidir.

30 18 * * * rm /home/kullaniciadi/tmp/*

Asagida birkaç zamanlama örnegi ve çalistirilma zamanlari verilmistir.

dak saat gün/ay ay gün/hafta Çalistirilma Zaman

30 0 1 1,6,12 * --> Ocak, Haziran ve Aralik aylarinin birinci günü saat 00:30'da
0 20 * 10 1-5 -- > Ekim ayinin her Pazartesi ve Cumasi saat 20:00'de
0 0 1,10,15 * * --> Her ayin 1'inde, 10'unda ve 15'inde gece yarisi (00:00)
5,10 0 10 * 1 --> Pazartesileri ve her ayin 10. gününde saat 12:05 ve 12.10'da

2.5- Crontab Sabitleri


Cron, kullanici ev dizinindeki komutu kabuk yardimiyla çalistirir (/usr/bin/sh) ve tüm kabuklar için destekledigi bazi degerler vardir.

Bunlar;

HOME= Kullanici ev dizini
LOGNAME= Kullanici giris adi
PATH= /usr/bin:/usr/sbin:.
SHELL= /usr/bin/sh

2.6 Email Iptali

Cron, öntanimli olarak islemi gerçeklestirdiginde kullaniciya email gönderir. Eger bunun gerekli olmadigini düsünüyorsaniz asagidaki kodu cron görev satirinin sonuna eklemelisiniz.

>/dev/null 2>&1

örn: 30 18 * * * rm /home/kullaniciadi/tmp/* >/dev/null 2>&1

2.7- Log Dosyasi Olusturma

Cron'un yaptigi islemleri bir log dosyasinda tutmak isterseniz,

30 18 * * * rm /home/someuser/tmp/* > /home/someuser/cronlogs/clean_tmp_dir.log

3- Cpanel'de Cronjobs

Cpanel altinda Cronjobs kisminda cronjob yaratmak için 2 farkli mod bulunmaktadir.

3.1- Standart Mod

Standart mod çogu yeni kullanici için daha uygundur. Bu seçenek gerekli ayarlarin formdan
seçilebilmesini sagladigindan islemin daha hizli ve basit yapilabilmesini saglar. Standart mod 12
saatlik biçemi kullanmakta böylece kullanicinin istedigi zamani seçmesini kolaylastirmaktadir.
(AM= 0-12, PM= 12-23)

3.1.1- Standart Mod ile Cronjob Ekleme

Standart modda kullanicidan islemin yapilacagi zamani seçmesi, rapor gönderilecek mail adresi ve
yapilacak islemi girmesi istenir.


Formun en üstündeki alana islem gerçeklestiginde ya da bir hata olustugunda rapor gelmesi istenen adres girilir.

Ikinci olarak yapilacak olan islemin girilmesi gerekir. Buraya tüm unix komutlari girilebilir.

Örn: Bir klasörün tüm içerigini silmek için :

rm home/kullaniciadi/tmp/*

komutu kullanilabilir. Bu komutta da oldugu gibi "*" karakteri (joker karakter) cron tarafindan da desteklenmektedir. Bu komutda "*" /tmp klasöründeki tüm dosyalari temsil ettiginden /tmp klasörünün tüm içerigi silinecektir.

Üçüncü olarak islemin yapilacagi tarihi seçilir.

Son olarak Kaydet (Save Crontab) diyerek islem tamamlanir.

3.2- Gelismis Mod (UNIX Tarzi) --Advanced (UNIX Style)--

Gelismis mod UNIX tarzi cronjob eklemeyi destekler.

Deneyimli kullanicilar için daha uygundur.

3.2.1- Gelismis Mod ile Cronjob Ekleme

Gelismis modda ilk alana rapor gelmesi istenen email adresi girilir. Ardindan çalistirilma zamanini belirlemek için sirasi ile Dakika, Saat, Ayin günü, Ay ve Haftanin günü yazilir. Son olarak "Command" kismina çalistirilmasi istenilen komut girilerek "Commit Changes"e tiklanir.

4- Cronjob Hakkinda birkaç ipucu

a)
Görevlerin çalistirilma zamanini belirlerken birden fazla deger virgül ile ayrilarak yazilabilir.
Ayrica asagidaki kodlar da islemin 1, 2, 5, 10 ve 15 dakika, 1, 2, 4 ve 6 saat ara ile çalistirilmasini saglar.

Her dakika */1 Her saat */1
Iki dakikada */2 Iki saatte */2
Bes dakikada */5 Dört saatte */4
On dakikada */10 Alti saatte */6
Onbes dakikada */15

b) Cronjobsta UNIX komutlarinin disinda PHP ve MySQL komutlarini da kullanabilmek için gerekli
kodlarin yazili oldugu dosyanin GET methodu ile çagrilmasi yeterli olur.

Konumu blog adresimdende okuyabilirsiniz : http://sybercodev1.blogspot.com/2020/12/cronjobs-nedir.html
 

Konuyu görüntüleyen kullanıcılar:

Hukuksal Sorunlar İçin [email protected]
For Legal Problems [email protected]
Hacktivizm.Org
Hacktivizm.Org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Hacktivizm.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Hacktivizm saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Hacktivizm üyelerinin yaptığı bireysel hack faaliyetlerinden Hacktivizm sorumlu değildir. Sitelerinize Hacktivizm ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz. Sitemizde yer alan içerikler hakkındaki şikayetlerinizi Buradan iletişime geçerek bildirebilirsiniz. Please Report Abuse, DMCA, Scamming, Harassment, Crack or any Illegal Activities to [email protected]
Hacktivizm Twitter Hacktivizm Youtube Hacktivizm İnstagram Hacktivizm Telegram