CLI'da crontab'ın kaldırma seçeneğini devre dışı bırak


13

Örneğin, belirli bir komutu nasıl devre dışı bırakabilirim crontab -r?

Bunu iki kez zaten yanlışlıkla çalıştırdım, çünkü Eanahtarım anahtarın yanında R. Bu küçük yazım hatası yeter ve crontab'ınız gitti.


2
Önemli dosyaların yedeklerini almayı unutmayın!
wjandrea

Elbette, @daily zip -r /home/./scripts/cronjobs-all.zip / var / spool / cron / crontabs
user66638 12:07

Mercurial veya Git gibi bir kaynak kodu revizyon kontrol sistemi, komut dosyası dosyalarını yönetmek ve yanlışlıkla değiştirilmeye veya silinmeye karşı güvenli koruma için bile olabilir. İkisi için de uzak bir depoya ihtiyacınız yok. :-)
David Foerster

Yanıtlar:


16

crontabKomutun etrafında bir sarıcı kullanın , örneğin bu işlev şunları yapar:

crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;}

Bu işlev ; -rbağımsız değişkeninde olup olmadığını kontrol eder crontab; öyleyse, mesajla çıkar "r" not allowed, aksi takdirde komutu yürütür.

~/.bashrcTüm etkileşimli bashoturumların başlatılmasının ardından yüklenmesini sağlamak için içine koyun .


27

Dahil etmenizi öneririm

alias crontab="crontab -i"

senin içinde ~/.bashrcdosya (test etmeden önce yeni bir kabuk başlayın!)

Bu, crontab'ı her çalıştırdığınızda, her zaman "-i" seçeneğini seçtiğiniz anlamına gelir. Şimdi crontab -rkomutu verirseniz crontab -ir, crontab dosyasını kaldırmadan önce soran komut satırı işlenir :

nick@serv2:~$ crontab -r
crontab: really delete nick's crontab? (y/n) n
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.