У меня есть скрипт, который запускается cron
для создания резервной копии базы данных MySQL и некоторых файлов. После создания tar-шара и шифрования его с помощью openSSH
я должен поместить его на удаленный FTP-сервер. Ниже приведен код для части ftp:
HOST='abcd.dyndns.biz'
USER='username'
PASSWD='password'
FILE='myBack-'${LOCAL_HOST}'-'${DATENAME}'.enc.tar.gz'
DIRNAME='/usr/local/backups/'
cd ${DIRNAME}
ftp -n ${HOST} <<END_SCRIPT
quote USER ${USER}
quote PASS ${PASSWD}
cd backup
lcd ${DIRNAME}
put ${FILE}
quit
END_SCRIPT
Если я непосредственно запускаю скрипт из командной строки > sudo ./mybackup.sh
он работает без сбоев и помещает файл резервной копии на ftp, но когда он запускается из cron
он никогда не помещал файл на ftp, хотя другие pre-ftp и post- ftp (например, объединение файла журнала и результатов отправки по электронной почте) работает нормально. Я не могу получить что-либо из каких-либо файлов журналов или определить причину.
ПРИМЕЧАНИЕ:- Наш ip dyndns.biz не меняется, так как мы оплатили тарифный план.