summaryrefslogtreecommitdiff
path: root/nfs/scripts/funcs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'nfs/scripts/funcs.sh')
-rw-r--r--nfs/scripts/funcs.sh52
1 files changed, 52 insertions, 0 deletions
diff --git a/nfs/scripts/funcs.sh b/nfs/scripts/funcs.sh
new file mode 100644
index 0000000..5e27052
--- /dev/null
+++ b/nfs/scripts/funcs.sh
@@ -0,0 +1,52 @@
+# no args, print colored message, returns 0 if hostname seems valid, returns 1 if hostname is a default one
+hostname_test() {
+ case $hostname in
+ "(none)"|eficast|"") echo_color white red ">>> " "hostname is not customized : $hostname" ; return 1 ;;
+ *\&*) echo_color white red ">>> " "hostname should not contain special characters or should not be FQDN : $hostname" ; return 2 ;;
+ *\(*) echo_color white red ">>> " "hostname should not contain special characters or should not be FQDN : $hostname" ; return 2 ;;
+ *\{*) echo_color white red ">>> " "hostname should not contain special characters or should not be FQDN : $hostname" ; return 2 ;;
+ *\;*) echo_color white red ">>> " "hostname should not contain special characters or should not be FQDN : $hostname" ; return 2 ;;
+ *\<*) echo_color white red ">>> " "hostname should not contain special characters or should not be FQDN : $hostname" ; return 2 ;;
+ *\`*) echo_color white red ">>> " "hostname should not contain special characters or should not be FQDN : $hostname" ; return 2 ;;
+ *\ *) echo_color white red ">>> " "hostname should not contain special characters or should not be FQDN : $hostname" ; return 2 ;;
+ *) echo_color green black ">>> " "hostname is $hostname" ; return 0 ;;
+ esac
+}
+
+# no args, print colored message, returns 0 if NFS is read-only, returns 1 if NFS is read-write (needed for image capture)
+nfswrite_test() {
+ if ! touch /mnt/nfs/.writetest
+ then echo_color green black ">>> " "NFS is read-only"
+ return 0
+ else echo_color white blue ">>> " "NFS is read-write"
+ return 1
+ fi
+}
+
+# no args, print colored message, returns 0 if sda is present and is sata, returns >0 if it is not
+firstdisk_test() {
+ diskinfo=$(lsblk --list --output TRAN,MODEL --noheadings --nodeps /dev/sda)
+ case $diskinfo in
+ sata*) echo_color green black ">>> " "First disk is SATA and is available ($diskinfo)"
+ return 0
+ ;;
+ usb*) echo_color white red ">>> " "First disk is USB ($diskinfo)"
+ return 1
+ ;;
+ *) echo_color white red ">>> " "First disk is unknown ($diskinfo)"
+ return 2;
+ ;;
+ esac
+}
+
+# $1 : scriptname, print colored message, returns 0 script is available, returns 1 if not
+scriptavailability_test() {
+ script=$scriptdir/$1
+ if [ -r $script ]
+ then echo_color green black ">>> " "Script $script is available"
+ return 0
+ else echo_color white blue ">>> " "Script $script is missing or unreadable"
+ return 1
+ fi
+}
+