2014-12-10 2 views
0

Я использую этот Баш скрипт, чтобы подтолкнуть файлы S3:добавить заголовок Expires с Баш сценариев возвращает неверную запись на АМС с s3cmd

#!/bin/bash 


for f in $(find nas/cdn/catalog/drawings \(! -regex '.*/\..*' \) -type f) 
do 
    extension=`file $f | cut -d ' ' -f2 | awk '{print tolower($0)}'` 
    mimetype=`file --mime-type $f | cut -d ' ' -f2` 
    fullpath=`readlink -f $f` 
    expires="Expires:`date -u +"%a, %d %b %Y %H:%M:%S GMT" --date "+1 years"`" 
    cache="Cache-Control:max-age=1296000, public" 
    s3upload="s3cmd put -v setacl --acl-public --add-header=$expires --add-header=$cache --mime-type=$mimetype $fullpath s3://ccc-public/catalog/drawings/" 
    response=`$s3upload` 
    echo $response 
done 

, но когда я смотрю на файл метаданных, все вплоть до , является хранящихся, например:

[email protected]:~$ curl -I http://cdn/EP01.jpg 
HTTP/1.1 200 OK 
x-amz-id-2: 1GtBxWeKYugj+ZhRptIILeY9JLSbHZ1EmjAbN1m7J7oI1vWegAuW3zaileGBHG33l+ExT4JOWE0= 
x-amz-request-id: 807D5E8283799C0B 
Date: Wed, 10 Dec 2014 16:48:13 GMT 
x-amz-meta-s3cmd-attrs: uid:1000/gname:khine/uname:khine/gid:1000/mode:33279/mtime:1411736563/atime:1411743616/md5:19cbca5ea3f02446f36cae4900dae426/ctime:1414686917 
Cache-Control: max-age=1296000, 
Expires: Thu, 
Last-Modified: Wed, 10 Dec 2014 14:53:01 GMT 
x-amz-version-id: Cmu7RgbS1Z5Cvhip.YJtMJfFoVepog_e 
ETag: "19cbca5ea3f02446f36cae4900dae426" 
Accept-Ranges: bytes 
Content-Type: image/jpeg 
Content-Length: 82394 
Server: AmazonS3 

любой совет, который ценится.

+0

Не вставляйте свою команду в строку. Просто запустите его напрямую и укажите расширение ваших переменных. –

+0

Извините, я не понял, что вы имеете в виду? – khinester

+1

он означает, что последняя строка должна быть как 'response = $ (s3cmd put -v setacl --acl-public ....)' В качестве примечания, присоединитесь к 1990-м и прекратите использовать back-ticks для cmd-substitution ;-) Удачи. – shellter

ответ

0

Не вставляйте свою команду в строку. Просто запустите его напрямую и укажите расширение ваших переменных. - Etan Reisner