
linux中的软链接
在tomcat服务器中 我们重新更新一次项目,即war包 需要删除旧的目录,这样可能会删除用户上传的图片,这时候就要先备份用户上传的图片之后,删除旧目录然后重启tomcat, tomcat重启之后项目重新生成基础目录之后,将备份图片移动回去到目录里面, 很不方便!
以下下命令就能解决问题的,利用软链接我们可以达到需要的效果
注意: 路径请设置为绝对路径不然无法链接成功
ln -s /usr/local/tomcat/www.developzhe.com/upload /usr/local/tomcat/webapps/maven-web-demo/
即使你删除了 /usr/local/tomcat/webapps/maven-web-demo/ 也不会删除到图片 因为图片是放在 /usr/local/tomcat/www.developzhe.com/upload 只要之后重新执行上面的shell命令就行的
不过发生了惨痛的一件事,就是我有一次直接覆盖tomcat里面的webapps中的war包,没有关闭tomcat,导致所有图片被删除,至今未找到原因,所以不建议这样使用,我现在是直接将图片传到外部而不是maven-web-demo里面,最后访问的时候使用nginx解析
如下:
location /upload/ { root /usr/local/tomcat/www.developzhe.com; }
软连接删除
[root@nodek8s1 www]# ln -s /home/www/testlink/ /home/www/testlink-s [root@nodek8s1 www]# cd test -bash: cd: test: No such file or directory [root@nodek8s1 www]# cd testlink [root@nodek8s1 testlink]# ls [root@nodek8s1 testlink]# touch 1.txt [root@nodek8s1 testlink]# cat /home/www/testlink-s/ cat: /home/www/testlink-s/: Is a directory [root@nodek8s1 testlink]# ls /home/www/testlink-s/ 1.txt [root@nodek8s1 testlink]# ll total 0 -rw-r--r-- 1 root root 0 Dec 3 17:56 1.txt [root@nodek8s1 testlink]# rm /home/www/testlink-s rm: remove symbolic link ‘/home/www/testlink-s’? y [root@nodek8s1 testlink]# ls 1.txt [root@nodek8s1 testlink]#
测试:
ln -s /home/www/testlink/ /home/www/testlink-s rm -rf /home/www/testlink-s/ #删除的并不是链接文件 而是真正的 /home/www/testlink/ 文件夹 。
想要删除链接文件要用以下命令:
rm /home/www/testlink-s #只是少了一个“ / ” 删除的就是链接文件, 文件夹最后不要加上/
软连接删除部分参考
https://blog.tuine.me/12.html