-liner ниже:
# yum history list|awk '$1 ~ /[0-9]+/ {print $1}'| while read a; do yum history undo -y $a; done
Будьте осторожны при выполнении этой команды, потому что она удалит все установленные вами пакеты! Если вам нужно подтверждение, вы можете удалить флаг -y.
Это зависит от того, какая версия cron
, который у вас есть, и его настройки, но обычно это / bin / sh
. Часто это символическая ссылка на что-то еще, но ее легко найти, поскольку вы можете просто запустить ls -l / bin / sh
.
Вы можете добавить запись cron, например:
* * * * * ps -p $$ > /tmp/shelltest
или (при редактировании / etc / crontab
, вместо добавления записи в crontab для каждого пользователя, как это делается с помощью crontab -e
]):
* * * * * username ps -p $$ > /tmp/shelltest
который сообщит вам через вывод в / tmp / shelltest
имя файла оболочки. Если ваш cron
правильно настроен для отправки вам почты, вы можете пропустить > / tmp / shelltest
, чтобы получить информацию по почте, а не помещать ее в файл.
Чтобы быть немного более триксификационным, что-нибудь вроде:
* * * * * ls -l /proc/`ps -p $$ | tail -n 1 | xargs | cut -f 1 -d \ `/exe > /tmp/shelltest
должно указать вам точный используемый файл.В типичной системе Debian это будет выглядеть примерно так:
lrwxrwxrwx 1 dspillett dspillett 0 Mar 14 16:17 /proc/1356/exe -> /bin/dash
показывает, что cron в этом случае использует тире
в качестве оболочки по умолчанию.
Чтобы разбить эту команду:
ps -p $$
выводит подробную информацию о текущем процессе (ну, ps
родительский процесс), который в данном случае будет оболочкой. tail -n 1
удаляет строку заголовка, которая ps
включает xargs
- это трюк для удаления начальных пробелов в строке cut
берет первое поле из подобного, где разделителем является пробел (абсолютно жизненно важно, чтобы вы включили пробел между \ и обратным апострофом) ls -l / proc / 9999 / exe
, где «9999» - это идентификатор процесса, считанный из ps
, в котором перечислены файл, используемый для создания процесса, потому что в файловой системе '/ proc' / proc / / exe
есть ссылка на исполняемый файл процесса, идентифицированного Из crontab(5)
:
Некоторые переменные среды настраиваются автоматически с помощью cron(8) демон. SHELL устанавливается в /bin/sh, а LOGNAME и HOME устанавливаются из строка /etc/passwd владельца crontab. ДОМ и ОБОЛОЧКА могут быть переопределяется настройками в crontab; LOGNAME не может.