Мне нужно выяснить, как автоматически вставлять дату и время выполнения определенного файла сценария bash в файл txt. Позволяет просто сказать, что у меня есть сценарий bash с именем backup.sh, и каждый раз, когда выполняется backup.sh, он автоматически создает txt-файл с именем Execution.txt и внутри этого txt-файла дату и время выполнения backup.sh будет там написано. У кого-нибудь есть идеи для этого? У меня есть Googled для некоторых ответов, но ничего не нашел. Любая помощь будет оценена! Заранее спасибо.
Если вы хотите записать дату для одного события в скрипте, скорее всего, вы захотите сохранить текущий журнал. Команда date может быть нажата в качестве простого регистратора событий:
date +'%c|Backup started' >> backup.log
Параметр + позволяет вам форматировать дату в любом случае. Подробности форматирования даты описаны в man date. Вышеупомянутая команда добавит строку в журнал, который выглядит примерно так:
Tue Mar 25 14:49:28 2014|Backup started
Разделитель каналов упрощает анализ журнала, если вы добавляете разные события:
date +"%c|Backup completed: $?" >> backup.log
[d4 ] $? - это статус возврата последней команды, которая должна быть выполнена, но вы можете использовать любую переменную, которая может быть полезна для последующей отладки. (Примечание: вам нужно использовать двойные кавычки, если вы хотите, чтобы переменные были интерполированы.) Глядя на журнал, вы сможете обнаружить возможный сбой: Tue Mar 25 14:49:28 2014|Backup started
Tue Mar 25 14:49:52 2014|Backup completed: 1
Вы должны добавить следующую строку в свой скрипт backup.sh:
date >> /path/to/Execution.txt
Объяснение:
date - распечатать системную дату и время >> /path/to/Execution.txt перенаправить вывода и добавляет его в файл /path/toExecution.txt.