Назад | Перейти на главную страницу

Cron не выполняет команду после входа в систему%

Возможный дубликат:
экранирование двойных кавычек и знаков процента (%) в cron

У меня в cron есть следующая команда:

5 6 * * * bash -c "tar -czf /backups/sites-server-files-rotate/sites_`date +%F`.tar.gz /backups/sites-server-files/"

Но команда не выполняется. В журнале cron я вижу следующее:

Apr 17 06:05:01 backup crond[9423]: (root) CMD (bash -c "tar -czf /backups/sites-server-files-rotate/sites_`date +)

Похоже % знак сокращает команду в cron. Зачем? Я должен сбежать от этого? И как?

Да, вам нужно избежать этого. Подойдет обратная косая черта.

Вы также можете поместить команду в сценарий и вместо этого вызвать сценарий.

Да, вам нужно избежать этого. Просто введите \ обратная косая черта перед каждым появлением %.

В символ процента указывает новую строку в crontab.

Вы можете создать файл bash со своим скриптом, а затем добавить его в crontab.

Например: сделать файл script.sh

#!/bin/bash

tar -czf /backups/sites-server-files-rotate/sites_\`date +%F\`.tar.gz /backups/sites-server-files/

Затем добавьте в cron:

5 6 * * * /dir/to/your/script.sh