HISTTIMEFORMAT не показывает корректную дату и время истории

От взглядов его происходит перенаправление вывода, но Вы, вероятно, хотите включать stderr, также. Попробуйте это в своем crontab:

52 14 * * * sh /home/xxx/testing/xxx.sh > /home/xxx/testing/xxx_`date +\%Y\%m\%d`.log 2>&1

Отметьте 2>&1 в конце. Это означает: "перенаправьте дескриптор файла 2, stderr, к любому дескриптору файла 1, stdout,". Поскольку Вы уже перенаправили stdout в файл, stderr закончится там также.

13
23.08.2013, 00:51
2 ответа

Я думаю, что это - функция. Когда Вы просто изменили эти настройки, Вы видите от ~/.bash_history то, что старой команде не сохранили метку времени. Таким образом для этих команд, это просто примет текущее время.

Попытайтесь поместить export команда в ~/.bashrc и выполнитесь, некоторые управляют. Вы будете видеть, это в ~/.bash_history дополнительная метка времени будет сохранением, которое может затем быть отображено history. Таким образом для новых команд это должно работать как ожидалось.

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

1
27.01.2020, 19:53

Если Вы устанавливаете HISTTIMEFORMAT в ударе Ваши новые записи хранятся в файле истории с меткой времени, более старые команды, которые не имеют метки времени (они, прежде чем Вы когда-либо будете устанавливать HISTTIMEFORMAT отобразит одну и ту же метку времени даты (я принимаю тот от первой записи, найденной с реальной меткой времени).

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

Можно заглянуть ~/.bash_history видеть, что является первой строкой, которая имеет метку времени даты. Это - строки, запускающиеся с a # сопровождаемый (в настоящее время) 10 числами цифры.

18
27.01.2020, 19:53

Теги

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