Cron (Zamanlanmış Görev)
Nasıl cron yapılır bilmeyen arkadaşlarımıza şimdi bunu anlatayım hazır boş zamanım varken mesela linux da bir komut yada bir dosyanın belirli zamanlarda çalışmasını istiyorsunuz...
crontab -e
yazınca basit cron sayfası çıkar karşınıza "* * * *" şeklinde kümeler çıkar bu yıldızların anlamları her dir mesela her cuma günü her saat her dakka gibi bunların yerlerine yerleştirilmesi aynı şu şekildedir
Dakika Saat Gün Ay Hafta
mesela
1 * * * *
olursa her dakkada bir anlamına gelmekte
burada mesela ilk 3 dışında bir önemli birşey var ay ve haftalar
aylar ocak şubat mart diye gider mesela
* * * * 7
bu her pazar anlamına gelir
* * * 1 *
buda her yıl ocak ayında
0 Pazar
1 Pazartesi
2 Salı
3 Çarşamba
4 Perşembe
5 Cuma
6 Cumartesi
7 Pazar
bu rakamları haftalarda kullanabilirsiniz aylar içinde o ayın tarihdeki rakamını yazarsınız süper cümle oldu mesela aralık 12 olur
bazen yani gerek duyuldugunda
*/1 * * * *
cron karşılıklarını /1 gibi belirtiriz
bir örnek daha yapalım mesela
*/0 */3 * * *
ne oldu bu mesela her gece 3 de istenilen şey çalışsın dedik
gerçek bir örnek yapalım daha önce kendi kodunuzu kendiniz yapın demiş bir başlık açmıştım onunla bunu karıştıralım mesela
cd /usr/bin
nano yedeklebeni
diye bi dosya oluşturduk içine
#/usr/bin/!
cd /home/osman/yedekler
zip -r dosya.zip ../public_html
zip -r mysqller.zip /usr/lib/mysql/osman_*
yazıyor ve kaydediyoruz
sonra
chmod +x yedeklebeni
yazıyoruz
crontab -e yazıyor ve altına alttakini ekliyoruz
45 * * * * root yedeklebeni
böylece her 45 dk da bir osman adlı kullanıcının dosyalarını yedeklemiş oluyoruz hatta biraz daha geliştirip şey yapabiliriz hmm örnek gmail hesabımıza mail olarak gönderebiliriz her 45 dk da
unutmadan
* * * * * bunlardan sonra kullanıcı adı ve sonra çalıştırılacak dosya ve komut yazılır
Nasıl cron yapılır bilmeyen arkadaşlarımıza şimdi bunu anlatayım hazır boş zamanım varken mesela linux da bir komut yada bir dosyanın belirli zamanlarda çalışmasını istiyorsunuz...
crontab -e
yazınca basit cron sayfası çıkar karşınıza "* * * *" şeklinde kümeler çıkar bu yıldızların anlamları her dir mesela her cuma günü her saat her dakka gibi bunların yerlerine yerleştirilmesi aynı şu şekildedir
Dakika Saat Gün Ay Hafta
mesela
1 * * * *
olursa her dakkada bir anlamına gelmekte
burada mesela ilk 3 dışında bir önemli birşey var ay ve haftalar
aylar ocak şubat mart diye gider mesela
* * * * 7
bu her pazar anlamına gelir
* * * 1 *
buda her yıl ocak ayında
0 Pazar
1 Pazartesi
2 Salı
3 Çarşamba
4 Perşembe
5 Cuma
6 Cumartesi
7 Pazar
bu rakamları haftalarda kullanabilirsiniz aylar içinde o ayın tarihdeki rakamını yazarsınız süper cümle oldu mesela aralık 12 olur
bazen yani gerek duyuldugunda
*/1 * * * *
cron karşılıklarını /1 gibi belirtiriz
bir örnek daha yapalım mesela
*/0 */3 * * *
ne oldu bu mesela her gece 3 de istenilen şey çalışsın dedik
gerçek bir örnek yapalım daha önce kendi kodunuzu kendiniz yapın demiş bir başlık açmıştım onunla bunu karıştıralım mesela
cd /usr/bin
nano yedeklebeni
diye bi dosya oluşturduk içine
#/usr/bin/!
cd /home/osman/yedekler
zip -r dosya.zip ../public_html
zip -r mysqller.zip /usr/lib/mysql/osman_*
yazıyor ve kaydediyoruz
sonra
chmod +x yedeklebeni
yazıyoruz
crontab -e yazıyor ve altına alttakini ekliyoruz
45 * * * * root yedeklebeni
böylece her 45 dk da bir osman adlı kullanıcının dosyalarını yedeklemiş oluyoruz hatta biraz daha geliştirip şey yapabiliriz hmm örnek gmail hesabımıza mail olarak gönderebiliriz her 45 dk da
unutmadan
* * * * * bunlardan sonra kullanıcı adı ve sonra çalıştırılacak dosya ve komut yazılır