Как Вы печатаете текущий месяц, день и год с помощью awk и дату?

Текущий (рабочий) каталог, вероятно, не установлен в /opt/www при запуске cronjob. Вы можете установить его в файле backup.sh вашего скрипта перед tar..... line by:

cd /opt/www

или вы можете использовать полный путь в tar line by:

tar zcf backups/$FILENAME /opt/www/f

Я также могу посоветовать использовать полный путь для backups/$FILENAME

-5
24.09.2016, 20:20
3 ответа

Попробуйте перенаправить вывод из команды date, например:

$ date | awk '{print $2, $3, $6}'
Dec 1 2014

Если вы действительно хотите взять вывод из date с помощью команды, похожей на вашу, то вам нужно перенаправить его с помощью HERESTRING, так же известной под названием. (<<<) (предполагая оболочку zsh или довольно свежую версию ksh93 или bash)).

$ awk '{print $2, $3, $6}' <<<$(date)
Dec 1 2014

Эта вторая форма примет вывод команды $(дата) и перенаправит его на awk через STDIN.

Но использование awk здесь вообще не требуется. Команда date имеет свои возможности форматирования.

$ date +"%b %d %Y"
Dec 01 2014
10
28.01.2020, 05:20

Зачем использовать awk вообще?

date +"%b %d %Y"

дает вам значения без хлопот.

23
28.01.2020, 05:20

Вы должны проводить выход дата : : [1219728]:

$ date | awk '{print $2, $3, $6}'
1 Dec 2014

или Get Дата Для форматирования его для вас:

$ date +'%d %b %Y'
01 Dec 2014
1
28.01.2020, 05:20

Теги

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