задание cron не выполняется / bin / bash: пользователь: команда не найдена

710
risail

Я пытаюсь запустить задание cron, которое выполняет сценарий от имени пользователя, используя crontab -e на сервере Ubuntu 16.04 LTS. Сценарий находится и находится в /data/autoremove.sh:

! / usr / bin / env bash

if ping -q -c 1 -W 1 1.1.1.1> / dev / null; тогда scp / data / Data * user@1.1.1.1: / data && rm data * иначе echo "не работает" fi

и задание cron настраивается с пользователем "user":

*/1 * * * * /data/autoremove.sh>/dev/null 2> ~/cron.err,

Я попытался добавить и a, SHELL=/bin/bashи a PATH=в crontab и скрипт, и подтвердил, что cron запущен, и попытался запустить его без объявления пользователя. Скрипт работает при запуске его как root или владелец

Ошибка, которую я получаю, состоит в том, /bin/bash: user: command not found' что я просмотрел несколько статей на разных сайтах стеков, и мне не повезло заставить его работать.

0
Почему вы думаете, что именно так вы определяете пользователя для запуска? Ignacio Vazquez-Abrams 6 лет назад 0
@Ignacio Vazquez-Abrams, потому что именно об этом говорится в руководстве https://help.ubuntu.com/community/CronHowto ... не думайте, что я понимаю, к чему вы клоните. risail 6 лет назад 0
Когда вы используете пользовательский cron, вы не должны указывать `user`, он применяется только к системному cron. Другое дело - везде использовать полные пути Alex 6 лет назад 0
Ошибка в первой строке: замените ее на `#! / Bin / bash` вместо`! / Usr / bin / env bash` Alex 6 лет назад 0
`~ / autoremove.sh` находится в вашем домашнем каталоге, а` / data / autoremove.sh` находится в каталоге `/ data` Alex 6 лет назад 0
«Вот пример строки из вымышленной ** / etc / crontab **:« Но вы не редактируете `/ etc / crontab`, вы используете` crontab -e`. Ignacio Vazquez-Abrams 6 лет назад 0
если я переместу его в / etc / crontab и объявлю пользователя, или если я удалю пользователя и введу его в crontab -e, результаты будут такими же, что он не сможет найти файл risail 6 лет назад 0
Вы пробовали то, что я вам посоветовал - "везде используйте полные пути"? Alex 6 лет назад 0
Да пробовал @Alex risail 6 лет назад 0
Даже для `ping`,` scp`, `rm` ??? Alex 6 лет назад 0

0 ответов на вопрос