Как записать дату/время в начало строк лога?

Рейтинг: 3Ответов: 1Опубликовано: 01.03.2011

Некий скрипт на bash выполняет бэкап и попутно пишет лог. Нужно, чтобы каждая строка лога начиналась с даты и времени. У меня пока что получилось вот так:

LOG='./logfile'  
echo $(date +"%y-%m-%d %T") Начало копирования файлов >> $LOG  
...  
echo $(date +"%y-%m-%d %T") Окончание копирования файлов >> $LOG

Существует ли способ писать это короче?

Ответы

▲ 7Принят

Ну так сделайте функцию log и используйте её. Что-то вроде этого

#!/bin/bash
LOGFILE=/path/to/my/log/file

log(){
   message="$(date +"%y-%m-%d %T") $@"
   echo $message
   echo $message >>$LOGFILE
}

log "Начало копирования файлов"
# ....
log "Окончание копирования файлов"