От взглядов его происходит перенаправление вывода, но Вы, вероятно, хотите включать 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
закончится там также.
Я думаю, что это - функция. Когда Вы просто изменили эти настройки, Вы видите от ~/.bash_history
то, что старой команде не сохранили метку времени. Таким образом для этих команд, это просто примет текущее время.
Попытайтесь поместить export
команда в ~/.bashrc
и выполнитесь, некоторые управляют. Вы будете видеть, это в ~/.bash_history
дополнительная метка времени будет сохранением, которое может затем быть отображено history
. Таким образом для новых команд это должно работать как ожидалось.
Таким образом: Не назад совместимый с командами, выполняемыми в другом окне терминала в прошлом.
Если Вы устанавливаете HISTTIMEFORMAT
в ударе Ваши новые записи хранятся в файле истории с меткой времени, более старые команды, которые не имеют метки времени (они, прежде чем Вы когда-либо будете устанавливать HISTTIMEFORMAT
отобразит одну и ту же метку времени даты (я принимаю тот от первой записи, найденной с реальной меткой времени).
Эта проблема должна решить себя после того, как Ваша полная история была обновлена за несколько дней.
Можно заглянуть ~/.bash_history
видеть, что является первой строкой, которая имеет метку времени даты. Это - строки, запускающиеся с a #
сопровождаемый (в настоящее время) 10 числами цифры.