как лучше всего записать ошибку сценария оболочки UNIX

Вы должны указать имя устройства, а не путь к файлу.

Вы должны были сделать вместо этого:

systemctl enable ftc-data.timer
systemctl start ftc-data.timer
systemctl enable ftc-data.service
-3
25.05.2020, 13:00
1 ответ

Кажется, вы обходите правильное решение либо

  1. Запуск вывода findв качестве команды (это то, что происходит, когда вы используете findв подстановке команды, а затем используете эту подстановку команды в качестве команды, что вы делаете в вариантах 1 и 3 ), или
  2. Перенаправить потоки вывода и ошибок отдельно на log.txt.

Правильным вариантом будет

find... >log.txt 2>&1

То есть запустите команду и перенаправьте вывод в файл, а затем также перенаправьте поток ошибок туда, куда направляется стандартный вывод.

Если вы хотите протоколировать только ошибки, не перенаправляйте стандартный вывод:

find... 2>log.txt

В пакете moreutilsвы найдете команду с именем ts, которую вы можете использовать для получения временных меток в выводе команд:

find... 2>&1 >/dev/null | ts >log.txt

Приведенная выше команда отбрасывает стандартный вывод из find, но добавляет временные метки к выходным данным об ошибках и сохраняет их в log.txt.

0
18.03.2021, 23:33

Теги

Похожие вопросы