Cron посилає вихід на пошту. Якщо ви хочете бачити вихід у терміналі, тоді ви можете увійти до файлу та використовувати хвіст -f для перегляду виводу в терміналі, який ви хочете бачити вихід
Увійдіть у файл
- Найпростіша відповідь - це увійти безпосередньо у файл із записом crontab, наприклад:
0 07-17 * * * /home/dat/scripts/cron.out > /path/to/log.txt 2> /path/to/error.txt
Альтернативні способи входу:
- Якщо у вашій програмі є сценарій, до якого можна записати, ви можете змінити його, щоб перенаправити вихід у файл журналу.
echo output > log.txt
або ви можете використовувати обгортку сценарій описаний нижче.
- Якщо ваша програма є двійковою або іншим способом, що не піддається запису, тоді ви повинні написати скрипт для обгортки, щоб захопити вихід у файл.
Приклад програми та сценарію обгортки:
$ cat program.sh wrapper.sh
#!/bin/bash
# sample program
echo "arg 1=$1 arg2=$2 arg3=$3"
echo "sample error" >&2
#!/bin/bash
# sample wrapper
exec ./program.sh "$@" >log.txt 2> error.txt
Приклад виконання 1:
$ ./wrapper.sh 1 2 3 ; cat error.txt log.txt
sample error
arg 1=1 arg2=2 arg3=3
Приклад запуску 2:
$ ./wrapper.sh "A B C" D E ; cat error.txt log.txt
sample error
arg 1=A B C arg2=D arg3=E
Перегляд виводу в терміналі:
Тепер, коли ваш вхід як стандартний висновок і стандартні помилки в файл, в будь-якому терміналі, ви можете працювати tail -f
на одному або обох файлах , як tail -f log.txt
і tail -f log.txt error.txt
так , що хвіст буде дивитися або скоріше слідувати файл (и) для поправок. хвостова сторінка
$ tail -f log.txt error.txt
==> log.txt <==
arg 1=1 arg2=2 arg3=3
==> error.txt <==
sample error
Файли журналу, додані згодом:
Якщо згодом або log.txt або error.txt додаються з вашої програми або з іншого терміналу, наприклад $ echo "more output" >> log.txt
, висновок відображається на запущеному терміналі$ tail -f log.txt error.txt
==> log.txt <==
more output
Крім того, $ echo code red >> error.txt
результати:
==> error.txt <==
code red