使用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