Почему этот сценарий оболочки завершается неудачно, поскольку задание cron

В сценарии оболочки у меня есть следующее: когда я запускаю этот скрипт, он работает, но когда я ставил это как задание cron, он не работает (ничего не происходит!). Как так?

скрипт

#!/bin/bash file="/home/nalangi/backup.zip" if [ -f "$file" ] then zip -9 -r backupTEMP.zip wso2am-1.7.1; rm -r backup.zip; mv backupTEMP.zip backup.zip; else zip -9 -r backup.zip wso2am-1.7.1; fi 

вход crontab

22 14 19 10 0 /home/nalangi/script123.sh

ОБНОВИТЬ

Проблема оказалась в том, что разрешения были неправильно установлены в скрипте.

2 Solutions collect form web for “Почему этот сценарий оболочки завершается неудачно, поскольку задание cron”

В вашем скрипте cron есть как минимум две ошибки: во-первых, вы должны сделать set -e в начале, чтобы любая ошибка немедленно завершила скрипт. Более того, поскольку вы используете относительные пути, вы должны сделать cd в желаемом рабочем каталоге:

 cd /home/nalangi 

Заметка. В справочной странице cron (8) говорится:

При выполнении команд любой вывод отправляется владельцу crontab (или пользователю, указанному в переменной среды MAILTO в crontab, если таковая существует).

Итак, если возникла ошибка, вы должны получить письмо с сообщением об ошибке.

Я бы сделал это более как это:

 #!/usr/bin/python import os, shutil, subprocess filename = "backup.zip" home = "/home/nalangi" tempfile = "backupTEMP.zip" if os.path.exists(os.path.join(home, filename)): subprocess.call(["zip", "-9", "-r", tempfile, "wso2am-1.7.1"]) os.remove(os.path.join(home, filename) shutil.move(os.path.join(home, tempfile), os.path.join(home, filename)) else: subprocess.call(["zip", "-9", "-r", filename, "wso2am-1.7.1"]) 
  • Debian 8 - запуск скриптов после загрузки
  • GDM мигает, и я не могу войти
  • Ubuntu 16.04 Как легко переключаться в Wicd Network Manager?
  • Получите среднесуточные значения от sar
  • Невозможно просмотреть ход файла с помощью `tail -f`
  • таинственная авария программы: где искать подсказки?
  • Puppy Linux на ноутбуке под управлением Ubuntu 14.04 (с двойной загрузкой)?
  • Добавление дисков в зашифрованный раздел LVM
  • Rsyslog не создает файлы журналов
  • Ошибка Apt-get: запись большего количества данных, чем ожидалось (7643558> 7643216)
  • Видеофайлы выглядят зелеными, а не розовыми
  • Interesting Posts

    Скрипт Simple Shell для регистрации дискового пространства

    Как я могу сделать текст удобным для чтения?

    Как назначить задачи для GPU

    Calc добавляет '(апостроф) при импорте времени из CSV

    Замена раздела в .img другим

    Захват timestamped событий мыши X и рендеринг видео с пользовательским указателем мыши?

    Можно ли изменить количество строк по умолчанию хвоста?

    Разрешения Google Cloud SFTP

    Консольный текстовый редактор с сочетаниями клавиш Windows (ctrl-z, x, c, v)

    Что происходит с запрошенными рекурсивными сигналами?

    В pfSense каковы значения столбцов «Целевые категории» и «Целевые категории для нерабочего времени» на экране ACL групп?

    служебная команда и пользователь без полномочий root

    Как загрузить файл, а затем проверить его и запустить некоторые другие команды, используя только ssh, cat и diff в одном сеансе SSH?

    Как ввести n повторений цифры в bash, в интерактивном режиме

    ключевое слово сервиса «сервис» не требуется

    Linux и Unix - лучшая ОС в мире.