在 bash 脚本中执行 s3cmd 时出现 Python 错误

在 bash 脚本中执行 s3cmd 时出现 Python 错误

我正在创建一个将在 cron 上运行的 bash 脚本,其目的是使用命令将目录备份到 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脚本的一部分(或依赖项)必须使用它。

学习到教训了。

相关内容