123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #!/bin/bash
- function err {
- printf %s": "%s"\n" "$(basename $0)" "$1"
- exit 1
- }
- ## some Superglue special checks
- ## USB drive should be already mounted here
- _WWW="/www"
- ## try to mount 30 times with 2 second breaks
- while ! mountpoint -q $_WWW; do [[ $n -gt 30 ]] && err 'failed to mount /www..';
- sleep 2
- block mount &>/dev/null
- let n++
- done
- ## if /www is mounted, then..
- _HTDOCS="$_WWW/htdocs"
- ## make ./htdocs if there is none
- [[ -e $_HTDOCS ]] || { mkdir $_HTDOCS; let E++; }
- ## if not writable chown with httpd
- [[ $(stat $_HTDOCS -c %U) == 'httpd' ]] || { chown -R httpd $_HTDOCS; let E++; }
- [[ ! $(stat $_HTDOCS -c %a) -lt '755' ]] || { chmod -R u+rwX $_HTDOCS; let E++; }
- ## check if index.html is present
- [[ -e $_HTDOCS/index.html ]] || (
- cp /opt/lib/resources/demo.html $_HTDOCS/default.html
- chown httpd $_HTDOCS/default.html
- )
- ## check for log directory
- [[ -e $_WWW/log ]] || {
- mkdir $_WWW/log;
- chown httpd $_WWW/log;
- let E++; }
- ## check for tmp directory
- [[ -e $_WWW/tmp ]] || {
- mkdir $_WWW/tmp;
- chown httpd $_WWW/tmp;
- let E++; }
- ## if any of the above triggered reload lighttpd
- [[ -z $E ]] || (
- echo 'reloading lighttpd'
- /etc/init.d/lighttpd reload
- )
|