Ошибка Python при выполнении s3cmd в скрипте bash
Я создаю bash-скрипт, который будет работать на cron, его целью является резервное копирование каталога в Amazon S3 с помощью s3cmd
команда.
Я получаю следующую ошибку при запуске скрипта:
/usr/bin/env: python: Not a directory
Когда я закомментирую s3cmd
Команда Python ошибка исчезает. Когда я запускаю эту команду в терминале, она работает как обычно.
Для тех, кто интересуется, вот мой сценарий bash:
#!/bin/bash
# clutching at straws here
# export PATH=/usr/bin/python:$PATH
# get the start time
START_TIME=$SECONDS
# set the log file output
NOW=$(date +"%m-%d-%Y")
FILE="domain_s3_$NOW.log"
PATH="/var/www/domain/log.domain.co/$FILE"
URL="http://log.domain.co/$FILE"
# fire the s3cmd sync command
/usr/local/bin/s3cmd/s3cmd sync --exclude-from /root/.s3cmd-exclude /var/www/ s3://domain-backup-latest/ > $PATH
ELAPSED_TIME=$(($SECONDS - $START_TIME))
# output diagnostic information
echo "Backup information:"
echo "- Duration: $(($ELAPSED_TIME/60)) min $(($ELAPSED_TIME%60)) sec"
echo "- Log: $URL"
редактировать
В этом связанном вопросе я заметил, что скрипт Python имеет другое объявление в верхней части файла, я думаю, мне нужно что-то вроде этого, но я действительно хорошо знаком со сценариями bash на данном этапе.
1 ответ
Решение
Понял, я настраивал $PATH
переменная, должно было знать, что это было слишком общим, часть s3cmd
сценарий (или зависимости) должен использовать это.
Урок выучен.