Мне нужно отправить личную env
переменную $FTP111_PASSWD
, определенную при моем личном .bashrc
crontab
исполнении. Как установить переменную окружения в crontab?
Мой оригинальный сценарий оболочки с именем cron4_etc.sh
, созданный для выполнения crontab
, был:
#!/bin/bash
cd /myFolder/
ftp -n -i <<EOF
open 101.111.111.111
user myUser "$FTP111_PASSWD"
mget check_*.log
bye
EOF
Если я выполнить скрипт через терминал ./cron4_etc.sh
, он выполняется нормально, но если я запустил его, используя следующую строку crontab
*/20 * * * * /home/myUser/cron4_etc.sh > /tmp/cron4.log 2>&1
crontab говорит:
Пароль : Неверный логин. \ NЛогин не удалось.
Я пытался улучшить свой сценарий, используя это предложение , но ошибка сохраняется:
#!/usr/bin/env bash
# set environment
source /home/myUser/.bashrc
cd /tmp/pg_io/PGW
ftp -n -i <<EOF
open 101.111.111.111
user myUser "$FTP111_PASSWD"
mget check_*.log
bye
EOF
PS: я использую Ubuntu 18 LTS, но вопрос для generi c crontab.