Komut dosyasını her dakika ve 24 saatte bir komut dosyasını çalıştırmak için crontab kullanma [kapalı]


316

/var/www/html/a.phpHer dakika belirli bir PHP komut dosyası yürütmek gerekir bir crontab sözdizimi gerekir . Her dakika icra saat 00: 00'da başlamalıdır. Komut dosyasını 00: 00'da /var/www/html/reset.php(24 saatte bir) yürütmesi gereken diğer görev .

Yanıtlar:


586

her dakika:

* * * * * /path/to/php /var/www/html/a.php

her 24 saatte bir (her gece yarısı):

0 0 * * * /path/to/php /var/www/html/reset.php

Crontab'ın nasıl çalıştığı için şu referansa bakın: http://adminschoice.com/crontab-quick-reference ve cron jobx oluşturmak için bu kullanışlı araç: http://www.htmlbasix.com/crontab.shtml


3
Sevgili Jan! Mükemmel cevap. Her 30 saniyede bir cron çalıştırmaya ne dersiniz? Böyle mi? * * * * * / 30 / / php /var/www/html/a.php yolu?
flaab

26
Ne yazık ki cron işlerini her dakikadan daha sık çalıştıramazsınız. Bunun için başka bir şey kullanmanız gerekecek.
Jan Hančič

9
Jan Hančič, bunu yapabilirsiniz. Sadece burada açıklanan basit bir hile kullanmanız gerekir: stackoverflow.com/a/1034304/1580615
Ruben

.Php betiğini her dakika cron ile yürütmek normal bir uygulama mıdır? Sunucu verimliliğini düşürebilir mi? Başka kötü yan etkileri var mı?
Andrew

@flaab her 30 saniyede bir böyle deneyebilirsiniz: - * * * * * kıvırmak --silent URL> / dev / null 2> & 1 * * * * * uyku 30; curl --silent URL> / dev / null 2> & 1
Shashank Shah

375

Bu, / etc / crontab biçimidir:

# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

Referansı her zaman elinizin altında tutabilmek için crontab dosyanızın üstüne kopyalayıp yapıştırmanızı öneririm. RedHat sistemleri varsayılan olarak bu şekilde kurulur.

Dakikada bir şey çalıştırmak için:

* * * * * username /var/www/html/a.php

Her günün gece yarısında bir şey çalıştırmak için:

0 0 * * * username /var/www/html/reset.php

Çalıştırılacak komuta / usr / bin / php ekleyebilir veya php komut dosyalarını doğrudan yürütülebilir yapabilirsiniz:

chmod +x file.php

Kabuğunuzun hangi yorumlayıcıyı kullanacağını bilmesi için php dosyanızı bir shebang ile başlatın:

#!/usr/bin/php
<?php
// your code here

42
Bu /etc/crontabbir sistem crontab dosyası olan biçimidir . Bir kullanıcı crontab, onu gönderen kullanıcı olarak çalıştığından, kullanıcı adı alanını içermeyen farklı bir biçime sahiptir. Bir cron işini root olmayan bir kullanıcı olarak çalıştırmak istiyorsanız, crontabkomutu göndermek için bu komutu kullanmalısınız (ve crontab'ın nerede saklandığı konusunda endişelenmeyin). Gerçekten gerekmedikçe uğraşmayın /etc/crontab.
Keith Thompson

umm ... hayır, hala çalışmıyor
Madeo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.