Самая легкая вещь рекурсивно вызвать через многие каталоги состояла бы в том, чтобы записать короткий сценарий Python и использовать os.path.walk
функция для рекурсивного вызова через вложенные каталоги. Для добавления Вы могли использовать shutil.copyfileobj
в цикле, проверяя имена файлов с regex.
Если Вы хотите переслать всю почту пользователя, не только почту от Крона, Солярис действительно поддерживает ~/.forward
. Солярис также поддерживает глобальные псевдонимы в /etc/mail/aliases
; при изменении этого файла необходимо работать newaliases
.
Если Вы только хотите переслать почту от крона, можно установить фильтр в ~/.forward
или /etc/mail/aliases
. Я не думаю, что Солярис идет с любым полезным предварительно установленным инструментом фильтрации; классическая программа для этого является procmail. Использовать |/usr/local/bin/procmail
как Ваш фильтр и что-то вроде этого как Ваш ~/.procmailrc
(непротестированный):
:0
* ^From: Cron Daemon <unixhacker2010@yourhostname.example.com>
* ^Subject: Cron .*
! otheraddress@otherhost.example.com
С другой стороны, можно отправить вывод по почте задания явно от crontab. Установите moreutils (я не знаю, как легкий это должно скомпилировать в соответствии с Солярисом), который содержит команду ifne
это выполняет программу, только если ее стандартный вход не пуст.
… 2>&1 | ifne mailx -s 'Cron output' otheraddress@otherhost.example.com
Я не помню, что Солярис настолько отличался.
Есть ли не /etc/aliases
файл (могло бы быть другое местоположение на Солярисе?), куда можно просто поместить пару от - до?
После этого newaliases
должен активировать изменение.
Код, размещенный в Solaris cron, игнорирующий почтовые псевдонимы? мог бы помочь прояснить ситуацию тем, для кого это до сих пор не работает.