Это только у меня или для crontab -r больше смысла спрашивать да / нет по умолчанию ??
user1446688
4
Я думаю, что иметь приглашение да / нет было бы хорошей идеей. тем более, что e & r находятся рядом друг с другом .. и crontab -eэто действительно распространенная команда cron.
JustinP
4
За 7 или около того лет работы админа у меня никогда не было такого со мной. Теперь мне страшно. Время, чтобы начать резервное копирование crontabs регулярно.
Каха
7
Это случилось со мной уже дважды. Это худшая идея eдля редактирования и rудаления без каких-либо подсказок!
DaniG2k
9
Первое, что нужно сделать alias crontab=crontab -i. Но crontab должен был сделать это по умолчанию, учитывая, что e & r находятся рядом друг с другом ...
anishsane
Ответы:
49
crontab -r удаляет единственный файл, содержащий задания cron.
Поэтому, если вы не сделали резервную копию, ваши единственные варианты восстановления:
В RedHat / CentOS, если ваши задания были запущены раньше, вы можете найти журнал cron /var/log/cron. Файл поможет вам переписать задания еще раз.
Другой вариант - восстановить файл с помощью инструмента восстановления файлов. Однако это вряд ли будет успешным, поскольку системный раздел обычно занят и соответствующие сектора, вероятно, уже перезаписаны.
В Ubuntu / Debian, если ваша задача уже была запущена, попробуйте grep CRON /var/log/syslog
Я не мог проголосовать за тебя, но этот ответ был очень полезен для меня. Thankx
Teerath Кумар
1
@RajaRassani Вы можете пометить правильный ответ галочкой. Спасибо за обратную связь!
SkyDan
это только что случилось со мной :) полный облом ... я использую виртуальные серверы и регулярно их резервирую ... так что я собираюсь раскрутить резервную копию ... и получить удаленные crontabs
JustinP
+1 за простоту:}
namezero
Вы можете попытать счастья в поисках резервной копии, сделанной редактором в /tmp/crontab.wpMhKS (конечно, имя может измениться). Возможно, это не самая последняя версия, но в моем случае это очень помогло
Чон Бор
21
Если у вас нет /var/log/cronфайла, вы можете восстановить команды (но не время) из syslog.
grep 'CRON.*(yourusername)' /var/log/syslog
затем вы можете выяснить большинство времени, глядя на отметки даты.
Это хуже Он редактирует файлы очереди без уведомления cronо том, что файл был отредактирован. Это также не будет работать, когда пользователь случайно удалил их, crontabпотому что нет файла для редактирования.
Ройма
Поднимите голос за то, что я на самом деле указал местоположение crontab. У меня была резервная копия всей системы, и я мог легко получить свои cronjobs. Спасибо!
crontab -e
это действительно распространенная команда cron.e
для редактирования иr
удаления без каких-либо подсказок!alias crontab=crontab -i
. Но crontab должен был сделать это по умолчанию, учитывая, что e & r находятся рядом друг с другом ...Ответы:
crontab -r
удаляет единственный файл, содержащий задания cron.Поэтому, если вы не сделали резервную копию, ваши единственные варианты восстановления:
/var/log/cron
. Файл поможет вам переписать задания еще раз.grep CRON /var/log/syslog
источник
Если у вас нет
/var/log/cron
файла, вы можете восстановить команды (но не время) изsyslog
.затем вы можете выяснить большинство времени, глядя на отметки даты.
источник
/var/log/syslog
.grep 'CRON.*(yourusername)' /var/log/syslog
vi /var/spool/cron/*user*
или если выroot
пользователь, тоvi /var/spool/cron/root
источник
cron
о том, что файл был отредактирован. Это также не будет работать, когда пользователь случайно удалил их,crontab
потому что нет файла для редактирования.