Спасибо за этот очень полезный скрипт. У меня были небольшие проблемы с запуском его на старых системах (Red Hat Enterprise 3, которые по-разному обрабатывают egrep и табуляции в строках), а также на других системах, где ничего не было в /etc/cron.d/ (тогда скрипт заканчивался ошибкой). Итак, вот патч, чтобы он работал в таких случаях:
2a3,4
> #See: /108860/kak-mne-perechislit-vse-zadaniya-cron-dlya-vseh-polzovatelei
>
27c29,30
< match=$(echo "${line}" | egrep -o 'run-parts (-{1,2}\S+ )*\S+')
---
> #match=$(echo "${line}" | egrep -o 'run-parts (-{1,2}\S+ )*\S+')
> match=$(echo "${line}" | egrep -o 'run-parts.*')
51c54,57
< cat "${CRONDIR}"/* | clean_cron_lines >>"${temp}" # */ <not a comment>
---
> sys_cron_num=$(ls /etc/cron.d | wc -l | awk '{print $1}')
> if [ "$sys_cron_num" != 0 ]; then
> cat "${CRONDIR}"/* | clean_cron_lines >>"${temp}" # */ <not a comment>
> fi
67c73
< sed "1i\mi\th\td\tm\tw\tuser\tcommand" |
---
> sed "1i\mi${tab}h${tab}d${tab}m${tab}w${tab}user${tab}command" |
Я не совсем уверен, что изменения в первом egrep - это хорошая идея, но этот скрипт без проблем протестирован на RHEL3,4,5 и Debian5. Надеюсь, это поможет!