Linux komutunu kullanarak tek cron işi nasıl kaldırılır veya silinir?


39

Sitem için aşağıda listelenen cron işlerini oluşturdum ve gayet iyi çalışıyorlar. Bu PHP betiğini kullanarak tüm cron işlerini yazdırıyorum:

$cronfiles=exec('crontab -l',$output);
echo "<pre>";
print_r($output);

Hangi çıktılar:

[0] => 0 0 * * * wget php -q http://www.example.com/report_send.php
[1] => 0 0 * * * wget php -q http://www.example.com/event_reminder.php
[2] => 0 0 * * * wget php -q http://www.example.com/user_reminder.php
[3] => * * * * * wget php -q http://www.example.com/cleardata.php

Şimdi tek bir cron işini sunucumdan komut ile silmek ya da kaldırmak istiyorum. Örneğin 0 0 * * * wget php -q http://www.example.com/event_reminder.phpsunucudan " " cron işini kaldırmak istiyorum .

crontab -rTüm cron işini sunucumdan kaldıran komutu denedim , ancak belirli cron işini kaldırmak istiyorum.

Çözüm için bana yardım eder misin?

Yanıtlar:


61
  1. Crontab'a bir iş eklemek için:

    (crontab -u mobman -l ; echo "*/5 * * * * perl /home/mobman/test.pl") | crontab -u mobman -
    
  2. Bir işi crontab'dan kaldırmak için:

    crontab -u mobman -l | grep -v 'perl /home/mobman/test.pl'  | crontab -u mobman -
    
  3. Crontab'daki her şeyi kaldır:

    crontab -r
    

Hiçbir şey aldatıcı değil: -Linux'ta STDOUT!


1
Greg: Ubuntu'ya Sormaya Hoş Geldiniz! ;-) Gelecekte cevaplarınızın okunabilirliğini artırmak için düzenlemelerimi ve aynı zamanda düzenleme yardımını da inceleyebilir misiniz ... ;-)
— Fabby

4
Lütfen değiştirin 1. crontab'a bir iş eklemek için (crontab -u mobman -l 2> / dev / null; echo "* / 5 * * * * perl /home/mobman/test.pl") | crontab -u mobman - (ref: stackoverflow.com/questions/4880290/… )
— Yasiru G

1
@YasiruG Ben crontab -l 2 > /dev/nullsadece no crontab for <user>mevcut bir cron işi yoksa mesajı görmek istemiyorsanız gerekli olduğunu düşünüyorum . Bu arada, -u mobmanmevcut kullanıcı için cron işini eklemek istiyorsak bu seçeneğe ihtiyacımız yok .
— baptx

21

Kök bilgi istemi türünden

crontab -e

Artık dosyayı düzenleyebilir ve kaldırmak istediğiniz satırı kaldırabilirsiniz. Bunu, sizden bu istemi varsa, kullanıcılar için crontab'ı düzenlemek için de kullanabilirsiniz.

Bu arada: cronjobs eklemeyi tercih ediyorum /etc/crontab. Bana biraz daha esnek geliyor.


Bu daha kolay görünüyor ve senaryo sihirbazından daha anlamlı, ama keşke daha çok sihirbaz gibi olsaydım.
— Jason Sebring

Manuel değişiklikler için harika, ancak otomasyon için yukarıdaki betiği kontrol edin -
— AFP_555 20:30 '

7

Kullanıcıları Görüntüle Cronjob

Waqleh Kullanıcının cronjob'ını görüntülemek için aşağıdaki sözdizimini kullanın :

crontab -u waqleh -l

Kök Kullanıcısı Görüntüle Cronjob

Sadece aşağıdaki komutu yazın:

crontab -l

Bu crontab betiğinin içeriğini listelemelidir.

Görüntüle / etc / crontab

Bir cronjob / etc / crontab dosyasından da çalıştırılabilir. Görüntülemek için şunu girin:

less /etc/crontab

Tüm cron işlerini kaldır

Yalnızca ve tüm cron işlerini durdurmak istiyorsanız, bunları tamamen kaldırabilirsiniz:

crontab -r

Bu , tüm crontab dosyasını kaldırır, burada listelenen diğer cron işleriniz varsa dikkatli olun!

Belirli cron işlerini kaldır

Cron dosyasını açın ve kaldırmak istediğiniz cron'ları silin

crontab -e

her satır bir cron işini temsil eder. Herhangi bir cronu ctrl + k tuşlarını kullanarak silebilir, sonra kaydedebilir ve çıkabilirsiniz.


1
crontab -l | grep -v 'wget php -q http://www.example.com/event_reminder.php' | crontab -

crontab -l Geçerli crontab işlerini listeler

grep -v bazı satırları filtrele

crontab - Tüm basılı materyalleri crontab dosyasına ekler.


0

crontabArgümanlar olmadan koşabilir ve yeni crontab'ı stdin ile besleyebilirsiniz.


@qeirha .. Belirli cron işini sunucumdan kaldırmak istiyorum
— anumavu

@ anumavu, doğru, crontab -lzaten okudunuz , zaten olduğu gibi, işi listeden kaldırın, sonra tekrar yazın crontab.
— geirha
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.