5 my $slicename=$ARGV[0];
6 my $already_mounted_testfile = "/tmp/$slicename"."_nfsmounted";
8 if (-f $already_mounted_testfile) {
9 die("Sorry, only one successful NFS mount allowed per slice!");
12 my $remotepath = <STDIN>;
13 my $localpath = <STDIN>;
15 $localpath=~s/\.\.//g;
17 unless (-d $localpath) {
18 die("Localpath does not exist, please create it first.");
21 my $hostexpr="(?=^.{1,254}$)(^(?:(?!\d+\.|-)[a-zA-Z0-9_\-]{1,63}(?<!-)\.?)+(?:[a-zA-Z]{2,})$)";
22 my $pathexpr="\/?[\w\d]+\/[\w\d]*\/?";
26 ($nfshost,$nfspath)=split ':',$remotepath;
28 if ($nfshost!~/(?=^.{1,254}$)(^(?:(?!\d+\.|-)[a-zA-Z0-9_\-]{1,63}(?<!-)\.?)+(?:[a-zA-Z]{2,})$)/) {
29 die("The hostname $nfshost does not seem to be right.");
32 if ($nfspath!~/^(((\.\.){1}\/)*|(\/){1})?(([a-zA-Z0-9]*)\/)*([a-zA-Z0-9]*)+$/) {
33 die("The remote path $nfspath does not seem to be right.");
38 $mntcmd="/bin/mount $remotepath $localpath";
42 print "Mount failed: $?";
45 open FIL, ">$already_mounted_testfile";
46 print FIL "$remotepath $localpath";