Ana Sayfa / mal / Web Barındırma Kılavuzları / Cron Job'a hakim olma ve Temel Sunucu Görevlerini Otomatikleştirme

Cron Job'a hakim olma ve Temel Sunucu Görevlerini Otomatikleştirme

Web hosting hareket halinde olan ve her günün her saatini ona adayamayan profesyoneller için kolay, anlaşılır ve mükemmel olacak şekilde tasarlanmıştır. hosting sunucularını yönetme vessoilgili görevler.

Bu amaçla, Unix tabanlı hemen hemen her sunucu veya Linux olarak bilinen otomatik bir görev yöneticisi sunar.cron Job"Veya" Crontab. "

Bu yazılım yardımcı programı Microsoft Windows'daki görev zamanlayıcıya çok benziyor, belirli zamanlarda belirli şeyleri yapması ve kullanıcının bu görevleri el ile yapmasını sağlaması söylenebilir. Bu özellikle rutin sunucu bakım, yedekleme ve iletişim prosedürlerinin tamamlanmasının saatlerce süreceğini düşünürse özellikle önemlidir. Çoğu insan, ofisteki bir günden sonra eve gitmek ve akşamlarını dosyaları yedeklemek ve kişileri yönetmek için harcamak yerine rahatlamak istemektedir.

Her görev günlük, haftalık veya aylık olarak planlanabildiğinden ve hatta bazı durumlarda ayrı ayrı planlanabildiğinden ve Crontab yardımcı programı içinde sunucuya görevin nasıl gerçekleştirileceğine dair özel talimatlar verilebildiğinden, bu kişiler şanslı. , ne zaman tamamlandığını nasıl bileceğinizi ve eldeki görev gerçekten bittiğinde ne yapılacağını.

Kullanıcılar, sunucularının tüm ağır kaldırma işlemlerini saatlerce gerçekleştirirken rahatlayabilirler; ya da sadece kendi ofislerinde çalışmakta zorlanırken işin tamamlanmasını planlayabilirler. Otomatik olduğundan, günün her saatinde bir Cron işi gerçekleşebilir.

Bir Cron İşin Formatını Kullanarak Zaman Anlatmayı Öğrenme

Bir Cron işi tam anlamıyla kolay bir şey değildir; Aslında, standart olarak en gelişmiş yapılandırmalardan biri olarak kabul edilir. Linux or Unix Web sunucusu. Bu kısmen, bu işleri programlamak için kullanılan dil çok arkaik ve bazı durumlarda tamamen geriye doğru olduğu için. Söz konusu Cron işine veya Cron sekmesine belirli bir zaman söylemek söz konusu olduğunda, işler kesinlikle geriye, baş aşağı ve biraz kafa karıştırıcıdır.

Bir Cron işi aracılığıyla zaman bildirme biçimi şöyledir:

DAKİKA SAAT GÜNÜ-AYLIK AYLIK GÜNLERİ HAFTASI

Hepsi tek bir satır ve çift sayı ve komut, tek tip bir kısaltmada yan yana. Çoğu geliştiriciyi ve sunucuyu yapmak için yeterlidir. operaürküyorlar ve aslında birçoğu, verimli bir Cron işi geliştirmek için askıda kalana kadar irkiliyor.

Cron işinin zamanının her yönünün sayısal olduğunu not etmek önemlidir; Ayın adı, gün adı ya da bir görevin yerine getirilmesi gereken zamanın gelişiminde kullanılan diğer kelimeler yoktur.

Bu nedenle, bir Cron işinin zamanının kesin sayılara dönüştürüldüğü zamanın nasıl göründüğüne dair bir fikir edinmek için Temmuz 10th'da 30 için bir Cron işi ayarlayalım.

30 10 07 07 *

Yukarıdaki örnekte, işin yedinci ayın yedinci gününde onuncu saatin 30. Dakikasında tamamlanması gerektiği belirtilmektedir. Tüm sayılar ay veya gün yalnızca bir rakam olsa bile, iki rakam uzunluğundadır. Bu, tek bir hane sık sık Cron işinin geçersiz olmasına neden olacak ve basitçe asla gerçekleştirilmeyeceğinden, hatırlamak önemlidir. Con yapısının sonunda, yıldız işareti, işin haftanın herhangi bir gününde yapılması gerektiğini gösterir. Bu önemlidir, çünkü Çarşamba günü 03 olarak ayarlamak, görevin yalnızca Salı günü olsaydı, yalnızca Temmuz 7. Bu, her yedi veya sekiz yılda bir gerçekleşmesi muhtemeldir; bu, çoğu geliştiricinin göz önünde bulundurması için biraz emicidir.

Bir Cron işi oluştururken yapılması gereken bir diğer önemli nokta, saat formatının 24-saatlik sivil zamandan ziyade 12-saat askeri saat olmasıdır. Cron işinin saatini 10 pm olarak değiştirmek için, saat geçerli 22 yerine 10 olarak değiştirilir.

Son olarak, bir kullanıcı yalnızca bir görevi günlük, aylık veya hatta yıllık olarak tamamlamak istiyorsa, belirli bir süreyi tamamen ayarlama sürecini atlayabilir. Bunun yerine, Cron iş süreci, bu sık aralıklarla bir işin ne zaman yapıldığını belirleyen değişkenlerin kullanılmasını sağlar. Bunlar şunları içerir:

  • @günlük
  • @aylık
  • @yıllık

Saat ve dakikalar kullanılarak zaman kesinlikle kontrol edilemediği ve belirlenemediği için, bu işler sunucunun iç saatine göre, istenen aralıkta tam olarak gece yarısında gerçekleşecek. Bu, aylık aralığın her ayın ilk günü tam olarak gece yarısında gerçekleşeceği anlamına gelir. Yılbaşı aralığı her yılın ilk günü tam olarak gece yarısında gerçekleşecek; ve @ günlük aralık yılın her günü tam olarak gece yarısında gerçekleşecektir.

Bu, belirli bir tarih, saat ve haftanın gününü ayarlamaktan çok daha kolaydır, ancak ayın veya yılın ilk günü gece yarısı gerçekleştirilmek üzere belirli görevlerin belirli müşteriler için bazı dezavantajları olabilir. Tam olarak gece yarısında gerçekleşen görevleri zamanlarken hem yöneticilerin hem de site ziyaretçilerinin ihtiyaçlarını göz önünde bulundurun.

"COMMAND" Değişkenini Kavrama ve Bununla Ne Yapmalı

Yukarıdaki örnekte görülebileceği gibi, gerçek bir Cron işi oluşturmak nispeten kolaydır. Önce tarih tanımlanmalı ve ardından Cron işinin işlevi hemen ardından tanımlanmalıdır. Bu işlev, kelimenin tam anlamıyla herhangi bir şey olabilir, buna bir PHP komut dosyası veya sunucunun dosyalarını ve verilerini uzak veya yerel bir dosyada depolayan özelleştirilmiş bir yedekleme komut dosyası çalıştırma. Açıklığa kavuşturmak için, daha önce kullanılan örneği geliştireceğiz ve Cron işine bir komut çalıştırması talimatını vereceğiz. PHP 7 Temmuz sabahı saat 10:30'da senaryo. Bu PHP betiğin adı “backup.php” ve biz varsayalım ki PHP file, sunucu tarafından talimat verildiğinde ayın yedisinde site dosyalarını toplayan, sıkıştıran ve depolayan tam bir yedekleme komut dosyasıdır. İşte böyle görünüyor:

30 10 07 07 * http://alan-adınız.com/backup-scripts/backup.php

Bu Cron işi, sunucunun Cron sekmeleri listesine girildiğinde, her yıl 10 Temmuz saat 30:7'da otomatik olarak yürütülecektir. çalıştıracak PHP “backup-scripts” dizininde bulunan bir yedekleme betiğidir ve Cron işi kurulumunun gerçek dehası burada çalışır.

Site geri gibi şeyleri gerçekleştirmek için kullanıcılarının gelişmiş komutlarını gerektirmek yerineups ve önbellek temizleme işlemleri, kullanıcılara mevcut komut dosyalarını belirli bir aralıkta veya belirli bir tarihte belirli bir zamanda yürütme yeteneği verir. Bu, gelişmiş olmadığı anlamına gelir programlama kullanıcının zaten bildiklerinin ötesinde bilgiye ihtiyaç vardır. PHP daha sofistike kullanıcıların kendi ihtiyaçları için geliştirebilecekleri çok daha gelişmiş dosyalar ve programlama dilleri gibi mükemmel bir şekilde site dosyalarını yedekleme yeteneğine sahiptir. Linux sunucusu.

Bu basit kurulum, önceden yazılmış bir komut dosyası, bu eylemlerin kullanıcı girişinden bağımsız olarak yürütülmesini sağladığı sürece, hemen hemen her şeyi yapmak için kullanılabilir. Bu, bir Cron sekmesinde bir Cron işi tarafından yürütülen herhangi bir komut dosyasının tamamen otomatik olması ve kendi başına çalışabilmesi gerektiği anlamına gelir. Örneğin, Cron işine bir işlemi yürütmesini söylemek imkansız (ve basitçe mantıksız) olurdu. WordPress dizin veya tema dosyası her gün aynı anda. Tanımlanmış hiçbir eylem veya otomatik süreç yoktur ve Cron işi kesinlikle dosyayı yürütürken, hiçbir şey yapmaz ve kullanıcı girişi başka bir şekilde sağlanana kadar statik durur.

Bu nedenle, yedekleme komut dosyaları veya başkalarının Cron işleriyle çalışacak şekilde kodlanması veya indirilmesi durumunda, işlevlerini başarılı bir şekilde gerçekleştirmek için tam olarak sıfır kullanıcı girdisine gereksinim duyduklarından emin olun. Otomatik görev zamanlayıcısı, yürütmekte olduğu dosya içindeki otomatik bir işlemle eşleştirilmelidir. Bu kuralın istisnası yoktur.

Tipik bir Sunucuda Genel Cron Sekmesi Dosyasına Mastering

Yürütme için belirtilen her belirli Cron işi, Cron sekmesi olarak bilinen daha büyük bir dosyanın içinde yer alır. Bazı sunucularda birden çok uygulama türü ve otomatik giriş için birden çok Cron sekmesi bulunur, ancak bu nadirdir ve büyük ölçüde en gelişmiş sunucu için ayrılmıştır. operators ve sahipleri. Yalnızca bir Cron sekme dosyasına sahip olanlar, dosya içinde görüntülemek üzere listelenen belirli otomatik görevlerin her biri ile dosyayı bütünüyle düzenlemek, silmek veya görüntülemek için aşağıdaki komutları kullanabilir.

crontab -r

Bu komut, Cron tab dosyasının tamamını kaldırır (dolayısıyla "r") veya siler. Bu, onu tüm komutlardan ve otomatikleştirilmiş komut dosyalarından etkili bir şekilde temizleyecek ve yeniden oluşturulabilen boş bir dosyaya geri yükleyecektir. Bu, dosyayı bozmayı başaranlar veya bir şekilde görevleri ve zamanları uygunsuz şekilde kullananlar için uygun bir seçenektir. Bazen baştan başlamak daha kolaydır.

crontab -e

Bu durumda "e", "düzenle" anlamına gelir. Dosyayı tamamen silmek yerine bir Cron sekmesinde açıklanan işlevleri düzenlemek isteyen kullanıcılar, bu komutu yeni görevler eklemelerine, eskileri kaldırmalarına veya uygulanabilir programı değiştirmelerine olanak tanıyan komut satırı düzenleyicisine götürmek için kullanabilir. Cron sekmesi belgesinde listelenen Cron işlerinin her biri için süre.

crontab -l

Bu durumda, bir kişi tarafından hatırlanması yeterince kolaydır.sso"L" harfini "bak" ile alıntılamak. Bu komut, bir sunucu yöneticisinin, Cron sekme dosyasını sunucudan tamamen kaldırmadan ve içeriğini düzenleme olanağına sahip olmadan, yalnızca tüm içeriğini görüntülemesine olanak tanır. Cron sekmesi içeriğinin bu salt okunur görüntüsü, hangi görevlerin hangi zamanlar için planlandığını hatırlamak ve dosyanın kendisinin bütünlüğünü doğrulamak için mükemmeldir.

Cron İşinde Bir Cron Sekmesi Otomasyon Dosyalarında Ustalaşmak Neden Önemli?

Genel olarak konuşursak, bir sunucu hakkında otomatikleştirilen tek şey, sabit diskinin dönüşü ve donanım özelliklerinin performansıdır. Bunun ötesinde, sunucunun, yalnızca bir yazılım kontrol panelini görüntülemenin veya kurulumunu yükseltmenin ötesine geçen rutin ve olağanüstü görevleri yerine getirmek için eğitilmiş ve talimat verilmiş olması gerekir. PHP veya bir kullanıcının sabit diske yerleştirdiği Perl.

Bir sunucunun düzenli olarak uygulayabileceği en önemli işlevlerden birinin, verilerin ve ayarların yedeklendiği bir site oluşturulması olduğunu hatırlamak önemlidir. Bu süreci bir Cron işi olmadan otomatik hale getirmenin neredeyse hiçbir yolu yoktur ve internetin doğası ve günlük olarak bir siteden geçen tüm kötü amaçlı ziyaretçiler nedeniyle, bu işlemin günlük veya haftalık olarak otomatikleştirilmemesi önemli sonuçlara yol açabilir. ve yıkıcı veri kaybı.

Bununla birlikte, bunun ötesinde, Cron iş süreci kullanılarak otomatikleştirilmesi gereken bir takım görevler vardır. Bu görevler arasında, eski görüntüleri veya basılı içeriği site ziyaretçilerine gösterebilecek tüm site önbelleklerini temizleme; eski dosyaları silmeyi, eski dizinleri ve görüntüleri temizlemeyi ve bir sunucunun sabit disk sürücüsünde depolanan her şeyin güncel ve bozulmamış olduğundan emin olmayı da içerir.

Tıpkı sağlıklı bir kişisel bilgisayarın disk bakımını otomatik olarak planlaması gibi, antivirüs ve kötü amaçlı yazılım taramaları, yazılım güncellemeleri ve dosya silme işlemleri için, sağlıklı bir sunucu kendi kendine bakacak ve iyi durumda kalacak şekilde yapılandırılmalıdır. Aksi takdirde, kar, reklam, içerik oluşturma ve hatta arama motoru sıralama durumuna yol açacak çökmelere, bilgisayar korsanlığı girişimlerine ve veri kaybına karşı savunmasız hale gelir.

Öğrenmesi Kolay ve Dağıtımı Kolay

Standart bir Cron sekmesinde bir Cron işi oluşturmak, bir sunucu yöneticisinin yapabileceği en kolay şeylerden biridir.

Süreç standart komut satırında yer alır ve her zaman dilimini iki basamaklı bir koda ayırır.

Görevleri otomatikleştirmek için herhangi bir yeni programlama dili hakkında ek bilgi gerektirmediğinden, hizmet temel olarak mevcut programlama ve sunucu üzerine kuruludur. operabir yöneticinin zaten sahip olduğu bilgileri içerir. Durum buyken, temel sunucu işlevlerini otomatikleştirmeye ve site verilerinin bütünlüğünü sağlamaya başlamamak için hiçbir neden yoktur ve operaları.

Yazarın fotoğrafı

Jerry Low Tarafından Hazırlandı

Okuma tutun