Я нашел свой ответ.
Никогда, никогда не оставляйте какие-либо файлы в каталоге с поддержкой сайтов - у меня был старый файл конфигурации vhost, который был сохранен как host.bck, который по какой-то причине читался Apache, и он выполнил конфигурацию в нем для всех vhosts ... в основном мои файлы конфигурации вообще не работали до того момента, когда я это узнал.
Есть лучший способ сделать это :использоватьaws s3 sync
Пример
aws s3 sync somefiles/ s3://durktest/blender
прочтите Справочник по командам AWS CLI для получения дополнительной информации
Чтобы удалить строки, оканчивающиеся на /
, просто используйтеsed
:
sed '/\/$/d'
Копирует из стандартного ввода в стандартный вывод, удаляя строки, заканчивающиеся на /
. Или используйтеgrep
:
grep -v '/$'
Вероятно, есть много других способов.
С GNUxargs
:
grep -v '/$' list.txt |
xargs -rd '\n' -I@FILE@ aws s3 cp "$lcDir/@FILE@" s3://durktest/blender/@FILE@
(при условии, что $lcDir
не содержит@FILE@
)
Обратите внимание, что у вас есть несколько проблем в коде,:
read
без -r
и без опорожнения$IFS
$lcDir
и$F
echo
Если вы хотите использовать цикл, вы можете:
(
ret=0
while IFS= read -r F <&3; do
case $F in
(*/) ;;
(*)
printf '%s\n' "$F"
aws s3 cp "$lcDir/$F" "s3://durktest/blender/$F" || ret=$?;;
esac
done 3< list.txt
exit "$ret"
)
Вы также можете рассмотреть, duplicity
какой AFAIK поддерживает Amazon s3 в качестве серверной части.