Intereting Posts
Команда nc не может искать DNS-имя Как передать список переменных в sed в функции оболочки Извлечение столбцов строки с помощью grep sed: удалить все совпадения в файле и вставить некоторые строки, в которых первое совпадение было Есть ли разница между добавлением пары имя-значение в команду и использованием env в bash? Как безопасно предоставить не-root доступ к lib, чтобы аппаратное ускорение Catalyst могло функционировать? Видеофайлы выглядят зелеными, а не розовыми Как создать установочный носитель Debian с пользовательскими пакетами? Измените каталог с пробелом, за которым следует '(' Конвертер USB в UART отстает Используйте команду grep и найдите Как Linux обновляет пакеты, которые используются? Как установить мой зашифрованный частный домашний каталог, если я забуду пароль? Как я могу найти фактический (dd) размер флеш-диска? Slackware: Firefox не найден после использования updateepkg

Использование «%» в crontab

Я пытаюсь добавить задание cron для выполнения rsync с удаленного сервера на локальный компьютер (Ubuntu12) и создать файл журнала.

Ниже приведен crontab-l

 00 18 * * * rsync -a -v --delete -e ssh user@centosvm:/home/user/rsync-test ~/backup > ~/rsync$(date +%Y%m%d_%H%M%S).log 2>&1 

Я продолжал получать эту почту, информируя о синтаксической ошибке в задании.

 Received: by work-virtual-machine (Postfix, from userid 1002) id 697ADA24A0; Thu, 30 Apr 2015 16:21:01 -0700 (PDT) From: root@work-virtual-machine (Cron Daemon) To: user@work-virtual-machine Subject: Cron <user@work-virtual-machine> "rsync -a -v --delete -e ssh user@centosvm:/home/user/rsync-test ~/backup > /home/user/rsync$(date + Content-Type: text/plain; charset=ANSI_X3.4-1968 X-Cron-Env: <SHELL=/bin/sh> X-Cron-Env: <HOME=/home/user> X-Cron-Env: <PATH=/usr/bin:/bin> X-Cron-Env: <LOGNAME=user> Message-Id: <20150430232101.697ADA24A0@work-virtual-machine> Date: Thu, 30 Apr 2015 16:21:01 -0700 (PDT) /bin/sh: 1: Syntax error: end of file unexpected (expecting ")") 

Я также установил пакет unix2dos.

хорошо, – понял это. Отправка назад просто разлада, если кто-то наткнутся на нее когда-нибудь в какой-то момент. The % sign has a special meaning in crontab. it's changed to newline and any string after the first % will be sent to the command as standard input. To force cron to interpret it literally, you have to escape it The % sign has a special meaning in crontab. it's changed to newline and any string after the first % will be sent to the command as standard input. To force cron to interpret it literally, you have to escape it :

 00 18 * * * rsync -a -v --delete -e ssh user@centosvm:/home/user/rsync-test ~/backup > ~/rsync$(date +\%Y\%m\%d_\%H\%M\%S).log 2>&1