## spare disk setup # add this to crontab -e to run at boot # -------------------------------------- # @reboot /usr/local/sbin/setupSpareDisk > /var/log/reboot.log 2>&1 & # -------------------------------------- DATE=$(/bin/date +%Y%m.%d.%s) SPAREDISK=$(/sbin/fdisk -l |grep '/dev/sdc') FSTAB=$(/bin/grep sdc /etc/fstab) echo "$DATE: spare disk" checkDisk() { #[[ ! -z $FSTAB ]] && exit 0 # check if sdc is available [[ -z $SPAREDISK ]] && exit 0 echo "$DATE: spare disk dectected" } partdisk(){ /sbin/sfdisk /dev/sdc <&1 > /dev/null echo "$DATE: adding spare disk to /etc/fstab" [[ -z $FSTAB ]] && \ cp /etc/fstab /etc/fstab-backup echo "/dev/sdc1 swap swap defaults,pri=200 0 0" | tee -a /etc/fstab echo "/dev/sdc2 /netdisk auto defaults,nofail 0 0" | tee -a /etc/fstab echo "/dev/sdc3 /cache auto defaults,nofail 0 0" | tee -a /etc/fstab echo "/dev/sdb1 /data auto defaults,nofail 0 0" | tee -a /etc/fstab } mountAll() { swapon -a mount -a (/bin/mkdir -p /cache/docker && /bin/rm -rf /var/lib/docker && /bin/ln -s /cache/docker /var/lib/docker) ( cd /etc;tar jxf /usr/local/etc/ssh.tbz ) } copyHome(){ mkdir -p /netdisk/home #( cd /home;tar cf - * ) | ( cd /netdisk/home;tar xpf - ) ( cd /data;tar cf - [aA]* ) | ( cd /netdisk/home;tar xpf - ) & ( cd /data;tar cf - [b-zB-Z]* ) | ( cd /netdisk/home;tar xpf - ) & ( cp /usr/local/etc/passwd /etc/passwd;pwconv ) } ################### echo "$DATE: building spare disk on /dev/sdc" checkDisk partdisk formatDisks mountAll service docker restart service ssh restart copyHome & # exit 0