本发明属于网络文件系统技术领域,具体涉及一种自动挂载nfs的方法、装置、设备及存储介质。
背景技术
网络文件系统(nfs)主要实现系统与系统之间的文件共享。nfs的特殊之处在于,它可以通过网络来挂载,而不用烧写到设备上。在云计算时代,网络文件系统是目前各大云计算厂商研发的重点之一。
nfs是c/s架构,也就是说,使用nfs需要搭建服务器和客户端。客户端很简单,自带的uboot已经添加了对nfs客户端的支持,重点在搭建nfs服务器。nfs服务器实际上与tftp、samba服务器、ftp服务器非常类似,需要在ubuntu上使用命令安装。搭建服务器的大致步骤为:下载并安装nfs服务器;人工配置nfs服务器;然后保存,重启nfs服务器或者ubuntu;查看开发板和ubuntu的ip,设置开发板ip并ping通nfs服务器;把需要拷贝到开发板上的文件都复制到刚才设置的目录里,例如拷贝到/work/nfs,然后在开发板上执行挂载命令;现在进入开发板上的/mnt目录,便可以看到ubuntu上要传输的文件。
mac系统每次重启需要重新挂载nfs,挂载nfs步骤较为繁琐,浪费了大量的时间和人力。
技术实现要素:
本发明的目的在于,针对上述现有技术存在的缺陷,提供设计一种自动挂载nfs的方法、装置、设备及存储介质,以解决上述技术问题。
第一方面,本申请实施例提供一种自动挂载nfs的方法,包括:
创建开机自动挂载网络文件系统的脚本;
创建开机自动执行所述脚本的配置文件;
将所述脚本和所述配置文件移动至launchd进程可读取的指定目录下;
设置所述配置文件自动挂载所述脚本的权限。
结合第一方面,在第一方面的第一种实施方式中,所述方法还包括:
重启服务器,判断系统是否能够自动挂载nfs:
否,则检查所述配置文件的语法,并采用命令sudovimboot_auto_mnfs_mac.plist对所述配置文件进行修改。
结合第一方面及第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述方法还包括:
修改所述配置文件后,重启服务器或重新加载所述配置文件。
第二方面,本申请实施例提供一种自动挂载nfs的装置,所述装置包括:
脚本创建单元,配置用于创建开机自动挂载网络文件系统的脚本;
文件创建单元,配置用于创建开机自动执行所述脚本的配置文件;
指定存储单元,配置用于将所述脚本和所述配置文件移动至launchd进程可读取的指定目录下;
权限设置单元,配置用于设置所述配置文件自动挂载所述脚本的权限。
结合第二方面,在第二方面的第一种实施方式中,所述装置还包括:
判断单元,配置用于重启服务器,判断系统是否能够自动挂载nfs;
修复单元,配置用于检查所述配置文件的语法,并采用命令sudovimboot_auto_mnfs_mac.plist对所述配置文件进行修改。
结合第二方面及第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述装置还包括:
重新加载单元,配置用于修改所述配置文件后,重启服务器或重新加载所述配置文件。
第三方面,本申请实施例提供一种设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如第一方面及第一方面任一种实施方式所述的方法。
第四方面,本申请实施例提供一种存储有计算机程序的计算机可读存储介质,该程序被处理器执行时实现如第一方面及第一方面任一种实施方式所述的方法。
本发明的有益效果在于,
本发明提供的自动挂载nfs的方法,通过创建开机挂载nfs的脚本和开机执行脚本的配置文件,实现了开机自动挂载nfs。配置成功后,无需用户有太多的技术支持或者经验开机即可自动挂载nfs,节省了大量的人力以及高人才成本。
本发明提供的自动挂载nfs的装置,通过脚本创建单元创建的自己挂载nfs的脚本和文件创建单元创建的开机执行脚本的配置文件,实现了开机自动挂载nfs。配置成功后,无需用户有太多的技术支持或者经验开机即可自动挂载nfs,节省了大量的人力以及高人才成本。
本发明提供的一种设备,通过执行本发明提供的自动挂载nfs的方法,实现了开机自动挂载nfs。配置成功后,无需用户有太多的技术支持或者经验开机即可自动挂载nfs,节省了大量的人力以及高人才成本。
本发明提供的一种存储有计算机程序的计算机可读存储介质,该程序被处理器执行时实现本发明提供的自动挂载nfs的方法,进而可以实现开机自动挂载nfs。配置成功后,无需用户有太多的技术支持或者经验开机即可自动挂载nfs,节省了大量的人力以及高人才成本。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例提供的自动挂载nfs的方法的示例性流程图;
图2为本申请实施例提供的自动挂载nfs的方法的示例性流程图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
本申请实施例提供一种自动挂载nfs的方法,包括:
创建开机自动挂载网络文件系统的脚本;
创建开机自动执行所述脚本的配置文件;
将所述脚本和所述配置文件移动至launchd进程可读取的指定目录下;
设置所述配置文件自动挂载所述脚本的权限;
重启服务器,判断系统是否能够自动挂载nfs:
否,则检查所述配置文件的语法,并采用命令sudovimboot_auto_mnfs_mac.plist对所述配置文件进行修改;
修改所述配置文件后,重启服务器或重新加载所述配置文件。
为了便于对本发明的理解,下面以本发明自动挂载nfs的原理,结合实施例中对nfs进行自动挂载的过程,对本发明提供的检测快照的方法做进一步的描述。
实施例1
请参考图1,本实施例提供一种自动挂载nfs的方法,具体包括以下步骤:
s1、创建开机自动挂载网络文件系统的脚本。参考脚本如下(boot_auto_mnfs_mac.sh):
s2、创建开机自动执行所述脚本的配置文件。
launchd进程(launchd作为第一个被内核挂载的用户态进程,将负责挂载系统中其它守护和代理程序。)需要读取一个xml格式的plist配置文件,创建该文件并将其放置在/system/library/launchdaemons/或者/library/launchdaemons/目录下。可在windows下预先创建该文件,需要使用支持unix格式的文本编辑器(比如ultraedit)创建该文件。
其中plist文件格式及每个字段的含义:
boot_auto_mnfs_mac.plist文件范例:
关键字解释:
(1)label(必选)
该项服务的名称。
(2)program(programargument是必选的,在没有programargument的情况下,必须要包含program关键字)
指定可执行文件的路径和名称。
(3)runatload(可选)
标识launchd在加载完该项服务之后立即挂载路径指定的可执行文件。默认值为false。设置为true即可实现开机运行脚本文件。
(4)workingdirectory(可选)
运行可执行文件之前,指定当前工作目录的路径。
(5)keepalive(可选)
这个关键字可以用来控制是否让可执行文件持续运行,默认值为false,也就是说满足具体条件之后才挂载。当设置值为ture时,表明无条件的开启可执行文件,并使之保持在整个系统运行周期内,此处选择false。
所有key关键字详细使用说明可以在macosx终端下使用命令manlaunchd.plist查询。
s3、将所述脚本和所述配置文件移动至launchd进程可读取的指定目录(/library/launchdaemons/)下。
s4、设置所述配置文件自动挂载所述脚本的权限。
sudochownroot:wheel
/library/launchdaemons/boot_auto_mnfs_mac.*
sudochmoda+x
/library/launchdaemons/boot_auto_mnfs_mac.sh
sudochmod644
/library/launchdaemons/boot_auto_mnfs_mac.plist
实施例2
请参考图2,本实施例提供一种自动挂载nfs的方法,具体包括以下步骤:
s1、创建开机自动挂载网络文件系统的脚本。参考脚本如下(boot_auto_mnfs_mac.sh):
s2、创建开机自动执行所述脚本的配置文件。
launchd进程(launchd作为第一个被内核挂载的用户态进程,将负责挂载系统中其它守护和代理程序。)需要读取一个xml格式的plist配置文件,创建该文件并将其放置在/system/library/launchdaemons/或者/library/launchdaemons/目录下。可在windows下预先创建该文件,需要使用支持unix格式的文本编辑器(比如ultraedit)创建该文件。
其中plist文件格式及每个字段的含义:
boot_auto_mnfs_mac.plist文件范例:
关键字解释:
(1)label(必选)
该项服务的名称。
(2)program(programargument是必选的,在没有programargument的情况下,必须要包含program关键字)
指定可执行文件的路径和名称。
(3)runatload(可选)
标识launchd在加载完该项服务之后立即挂载路径指定的可执行文件。默认值为false。设置为true即可实现开机运行脚本文件。
(4)workingdirectory(可选)
运行可执行文件之前,指定当前工作目录的路径。
(5)keepalive(可选)
这个关键字可以用来控制是否让可执行文件持续运行,默认值为false,也就是说满足具体条件之后才挂载。当设置值为ture时,表明无条件的开启可执行文件,并使之保持在整个系统运行周期内,此处选择false。
所有key关键字详细使用说明可以在macosx终端下使用命令manlaunchd.plist查询。
s3、将所述脚本和所述配置文件移动至launchd进程可读取的指定目录(/library/launchdaemons/)下。
s4、设置所述配置文件自动挂载所述脚本的权限。
sudochownroot:wheel
/library/launchdaemons/boot_auto_mnfs_mac.*
sudochmoda+x
/library/launchdaemons/boot_auto_mnfs_mac.sh
sudochmod644
/library/launchdaemons/boot_auto_mnfs_mac.plist
s5、配置文件的编辑和检查。
重启服务器,判断系统是否能够自动挂载nfs:
否,则检查所述配置文件的语法,并采用命令sudovimboot_auto_mnfs_mac.plist对所述配置文件进行修改。
s6、挂载服务并载入plsit文件。
修改所述配置文件后,重启服务器或重新加载所述配置文件。
本申请实施例提供一种自动挂载nfs的装置,包括:
脚本创建单元,配置用于创建开机自动挂载网络文件系统的脚本;
文件创建单元,配置用于创建开机自动执行所述脚本的配置文件;
指定存储单元,配置用于将所述脚本和所述配置文件移动至launchd进程可读取的指定目录下;
权限设置单元,配置用于设置所述配置文件自动挂载所述脚本的权限。
其中,所述装置还包括:
判断单元,配置用于重启服务器,判断系统是否能够自动挂载nfs;
修复单元,配置用于检查所述配置文件的语法,并采用命令sudovimboot_auto_mnfs_mac.plist对所述配置文件进行修改。
所述装置还包括:
重新加载单元,配置用于修改所述配置文件后,重启服务器或重新加载所述配置文件。
本申请实施例提供一种设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行本申请实施例提供的方法。
本申请实施例提供一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现本申请实施例提供的方法。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。