Automatically mount bucket with s3fs on boot
You want to add _netdev to your fstab:
s3fs#my-bucket-name /mnt/s3_bucket fuse _netdev,allow_other,umask=227,uid=33,gid=33,use_cache=/root/cache 0 0
Related videos on Youtube
Balmipour
Updated on September 18, 2022Comments
-
Balmipour almost 2 years
I use an Amazon S3 bucket to deliver some of my server's content. I was able to mount it successfully, and grant Apache rights over it, but can't get it mounted properly at reboot.
I updated my
/etc/fstab
with this line, but nothing happens when I boots3fs#my-bucket-name /mnt/s3_bucket fuse allow_other,umask=227,uid=33,gid=33,use_cache=/root/cache 0 0
So, I tried another way, commented said line, and just put my command line in
/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
... didn't work either.
I ended up putting a
cron
, and now, it works, but it feels terribly hacky to me, and I wonder why mounting it at start doesn't work.//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
Is there something I missed ?
I'm Using Ubuntu 14.04.4 LTS, with Fuse 2.9.2
EDIT : Here is another unrelated, yet important performance issue I had to figure out by myself:
If your system includes locate and/or mlocate (and Ubuntu 14.04 does), you may want to add an exception, so that it does NOT scan your bucket. I had to modify both my
/etc/updatedb.conf
and/etc/cron.daily/locate
, adding "/mnt/my-bucket-name"
toPRUNEPATHS
and" fuse.s3fs"
toPRUNEFS
I suppose addingfuse.s3fs should be enough
, but... no time to take risks right now :) -
Balmipour about 7 yearsLooks like it's as simple as this. Too bad this option was hardly ever mentioned, and nowhere explained in any of the tutorials or articles I found, while it seems absolutely necessary. Big thanks.
-
khc about 7 yearsit's actually in s3fs's README github.com/s3fs-fuse/s3fs-fuse
-
Balmipour about 7 yearsI noticed it after, but it's not explained on that page. There's one answer about it in the FAQ, which is quite clear, but I'm not used to Github enough to know pages include a FAQ. Half of the other blog/tutorial/forums pages I browsed didn't include the _netdev option when showing a fstab line, and for the other half, it's here among other stuff, but without explaination (while allow_other is often higlighted). Therefore, I had no idea of how important it could be. IMO, simple questions like this should be answered on SE anyway. Immediate google answers to basics helps going further
-
Community over 2 yearsYour answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.