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
любой совет, который ценится.
Не вставляйте свою команду в строку. Просто запустите его напрямую и укажите расширение ваших переменных. –
Извините, я не понял, что вы имеете в виду? – khinester
он означает, что последняя строка должна быть как 'response = $ (s3cmd put -v setacl --acl-public ....)' В качестве примечания, присоединитесь к 1990-м и прекратите использовать back-ticks для cmd-substitution ;-) Удачи. – shellter