Как на сегодняшний день создать имя файла в Linux

#linux

#linux

Вопрос:

Я пытаюсь создать резервную копию файла в crontab, но дату сохранения в определенной папке

В crontab

crontab -e

 * * * * * echo "hi i am safwan" >> /home/safwan/linx/backup/"$(date  "%Y_%m_%d").bak"
 

Но нет резервной копии файла.

Каково решение?

Комментарии:

1. % является специальным символом crontab и должен быть удвоен. man7.org/linux/man-pages/man5/crontab.5.html

Ответ №1:

Вы используете вложенные двойные кавычки, не экранируя внутренние.

Это сработало бы:

 "$(date  "%Y_%m_%d").bak"
 

Однако все эти кавычки не нужны. Вы можете удалить их все.

Редактировать:

Как указывалось в одном из комментариев к первоначальному вопросу, существует вторая проблема: % в crontab есть специальный символ, поэтому вам нужно его экранировать:

 $(date  %Y_%m_%d).bak