Почему бы просто не найти его и не произвести замену, а не захватить его? То есть:
sed "/access_log/ s| /.*;| /dev/stdout;|"
Он ищет строки, которые соответствуют « access_log
», а затем во всех строках, которые это делают, он заменяет « / something / path / is / there;
» на « ] / dev / stdout;
"
Вторая команда не создает никаких выходных данных, поскольку все выходные данные перенаправляются в файл журнала. Так что выхода на почту нет. Если вы хотите получать почту об ошибках, создайте вывод в случае ошибки.
Вот так
* * * * * sh /scripts/mysql-backup-bak.sh >> /var/log/mysql-backup.log 2>&1 || echo "something went wrong"