使用S3FS v1.83(和v1.84),我从我编写的脚本中的文件中获取环境变量,以使用S3FS命令。不幸的是,即使在环境中,S3FS也看不到AWS密钥和秘密环境变量。我正在使用CentOS 7.5和最新的包更新。
将它们作为变量在命令行上传递可以工作,导出它们也可以工作,但不提供文件源。

BUCKET_NAME=[bucketname]
MOUNT_LOCATION=[mountlocation]
AWSACCESSKEYID=XXXXXXXXXX
AWSSECRETACCESSKEY=XXXXXXXXX

在找到文件源后,在我的脚本中,我只调用带有bucket名称和挂载位置的s3fs。以下是脚本片段:
CONFIG_FILE_LOCATION=/root/.aws_backup_config
if [ -a $CONFIG_FILE_LOCATION ]; then
   source $CONFIG_FILE_LOCATION
else
   echo "AWS Backup configuration does not exist at
$CONFIG_FILE_LOCATION"
   exit 1
fi
echo "Mounting S3 bucket at $MOUNT_LOCATION"
echo $AWSACCESSKEYID
echo $AWSSECRETACCESSKEY

#Mount the S3 Bucket at MOUNT_LOCATION
s3fs $BUCKET_NAME $MOUNT_LOCATION
S3FS_RC=$?
if [ $S3FS_RC != 0 ]; then
     echo "Failed to mount bucket! Something isn't configured correctly! Check server messages log."

怎么回事?

最佳答案

s3fs不使用ENV来识别凭证。
它们应存放在:
回显访问密钥ID:SECRET访问密钥>${HOME}/.passwd-s3fs
chmod 600${HOME}/.passwd-s3fs

08-07 19:44