公司的Tomcat服务器一直放在根路径的分区下面,近期想重新添加一块数据备份盘,需要把服务器文件移到备份盘,但是本身项目设定了绝对路径所以需要能访问到原来的路径,所以计划把数据移动到备份盘,用原路径挂载新的服务器路径。
在命令行中 使用 mount --bind olddir newdir 或者 mount -B olddir newdir 就可以了,开机启动的话 把这条命令放在 /etc/rc.d/rc.local 应该就可以,但是因为web容器是个开机启动的服务,而rc.local 的启动是在 /etc/rc?.d 就是0-6级别的脚本之后的,所以这可能导致服务启动时所需的路径还没有挂载,如果把路径挂载放在/etc/fstab 这个系统脚本里面应该就没有这个问题了,挂载分区的脚本应该会在加载服务之前。
百度上找了好多fstab文件的介绍,一般只有挂载磁盘分区和光盘镜像的方法,没有找到关于挂载文件夹的方法。在fstab文件中的第三列需要写加载路径的文件格式。看了下man fstab,让去看man 8 mount,介绍支持好多的文件格式:
adfs, affs, autofs,cifs, coda, coherent, cramfs, debugfs, devpts, efs, ext, ext2, ext3, ext4,hfs, hfsplus, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs, romfs, squashfs, smbfs, sysv, tmpfs, ubifs, udf, ufs,umsdos, usbfs, vfat, xenix, xfs, xiafs
但是对这些文件格式没什么介绍,好头疼,百度也找不到。
后来又看了下 man mount 终于找到了方法:mount --bind olddir newdir 等效于fstab文件中的 /olddir /newdir none bind ,原来挂载文件夹 其实是不需要写文件格式的,因为它是依赖源文件夹的。
后来这个问题在群里讨论了下,其实在原路径下面建立指向一个新路径的软链接应该也能解决这个问题,因为在百度里面找不到 fstab自动挂载文件夹的方法,所以就随便写点内容。man帮助很重要,可惜自己英文太差了,连蒙带猜,蒙对了。