Я использую корзину Amazon S3 для доставки некоторого содержимого моего сервера. Мне удалось смонтировать его успешно и предоставить права Apache, но не могу правильно смонтировать его при перезагрузке.
Я обновил свой /etc/fstab
с этой строкой, но при загрузке ничего не происходит
s3fs#my-bucket-name /mnt/s3_bucket fuse allow_other,umask=227,uid=33,gid=33,use_cache=/root/cache 0 0
Итак, я попробовал другой способ, прокомментировал указанную строку и просто поместил свою командную строку в /etc/init.d/local
:
#!/usr/bin/env bash
s3fs -o allow_other,uid=33,gid=33,umask=227,use_cache=/root/cache my-bucket-name /mnt/s3_bucket
... тоже не сработало.
В итоге я поставил cron
, и теперь он работает, но мне он кажется ужасно хакерским, и мне интересно, почему его установка при запуске не работает.
//Crontab
*/10 * * * * ~/mountBucket.sh 1>/dev/null
//Mount script
#!/usr/bin/env bash
if [[ -d /mnt/s3_bucket/someBucketVirtualDirectoryName ]] ; then echo 'Bucket already mounted' ; else s3fs -o allow_other,uid=33,gid=33,umask=227,use_cache=/root/cache my-bucket-name /mnt/s3_bucket ; fi 1>/dev/null
Я что-то пропустил?
Я использую Ubuntu 14.04.4 LTS с Fuse 2.9.2
РЕДАКТИРОВАТЬ: Вот еще одна несвязанная, но важная проблема производительности, которую мне пришлось решить самостоятельно:
Если ваша система включает функции locate и / или mlocate (а в Ubuntu 14.04 есть), вы можете добавить исключение, чтобы оно НЕ сканировало вашу корзину. Мне пришлось изменить оба моих /etc/updatedb.conf
и /etc/cron.daily/locate
, добавив " /mnt/my-bucket-name"
к PRUNEPATHS
и " fuse.s3fs"
к PRUNEFS
Я предполагаю добавить fuse.s3fs should be enough
, но ... некогда рисковать прямо сейчас :)
Вы хотите добавить _netdev в свой fstab:
s3fs#my-bucket-name /mnt/s3_bucket fuse _netdev,allow_other,umask=227,uid=33,gid=33,use_cache=/root/cache 0 0