站在阳光下

Good Luck To You!

nextcloud程序误删除后怎样恢复

当网站根目录被清空后,网站的所有数据也就消失了。有的是自己认定必须删除的,但是绝大多数的情况是自己在执行某个命令时或者不小心误点误删除了全部文件或者某个重要的文件导致程序无法正常运行了。比如说nextcloud云盘程序,整个程序和保存的私人资料都被删除了这可怎么办,难道就眼睁睁的看着自己的好不容易辛辛苦苦上传的文件从此消失掉吗。答案是可以的。如果删除的仅仅是程序和上传的文件,并且你的本地电脑里还有这些文件并且当时的操作是误删除的,这说明了底层架构LAMP或者LNMP和数据库仍然存在,那么恢复的方法就是重新上传,但是仅仅重新上传文件是远远不够的,下面我们来重新恢复一下程序和文件。


1、重新下载nextcloud程序


这个步骤我就不再重复了,可以去 http://www.shibushi.cc/post/66.html  找答案。由于LAMP和LNMP以及数据库都没有被删,因此只需重新安装程序即可,直接开始执行最后一步。


重新下载程序到服务器,解压缩后并安装在根目录里,打开浏览器输入 公网IP(域名)/目录地址 看到的画面仍然是内部服务器错误,还是要执行那三个命令给程序施加权限,都在刚才的那个链接里。之后再次出现程序的安装画面就可以开始安装了,仍然选择Mysql/MariaDB,由于数据库还在因此请把原来的数据库用户名、密码、数据库名称重新填上,最后一个默认localhost。这里需要注意的是上面的管理员用户名和密码,由于数据库中已经有了原来管理员的账号和密码,因此不能再次使用原来的管理员名称,密码可以是原来的,但是用户名必须得改一个管理员的名字。可能你会说,改了用户名那我的数据库里存储的东西不就彻底不见了吗。的确使用了新的用户名数据库的内容当然是新的,原来的信息是没有的。这也是为什么不让你们删除修改清空nextcloud的数据库的原因了,删了数据库就彻底没法恢复了,但是只要数据库还在就可以恢复,接下来我会告诉你们怎么回到原来的管理员账号。


2、恢复原来的账号使用


新的用户名创建好了,此时我们看到的是一个新的账号,很多人会疑惑原来的管理员账号的数据哪去了呢。其实当你服务器中的文件被删除后,只是文件没有了,但是数据库里面的信息还在啊。举个例子,喜欢听音乐的朋友们都知道网易云音乐、QQ音乐、酷狗这些音乐网站都会因为版权问题有的歌曲没有资源无法播放,相当于服务器上没有这个音频文件,但是这些歌曲的信息仍然存在,只不过这些信息是灰色的,你也无法点开。这说明在他们的数据库里是有这首歌曲的详细信息,但是对应的音频文件没有了被下架了。所以那些不能听的歌虽然播放不出来但是你仍然可以看到那个变灰的详细信息,这就是数据库所起的作用。今天我们的恢复就跟这种情况大差不差,就是把这些文件跟数据库里所保存的信息进行一一对应来恢复文件。


因为数据库保持不变,所以原来的管理员账号和密码仍然存在,这也是刚才为什么原来的账号不能再注册了要注册个新的。这个时候退出这个新建的账号,使用原来的管理员账号和密码登录。此时我们看到所有的信息都在,只是因为没有文件图片变灰了、文件预览也打不开了,这个时候删除便不再放入已删除文件而是直接删除,因为没有文件,删除的就是数据库里的信息了。这个时候我们需要重新上传我们的文件。



3、重新上传文件


两种方法,一个是将所有文件全部压缩为一个或者多个zip压缩包通过FTP上传到你存放nextcloud数据的目录里,在设置新用户时请务必要记住你的数据存放目录。通过远程控制中的unzip命令对压缩文件解压缩。


unzip ZIP文件名.zip -d /var/www/html/nextcloud/data/管理员用户名/files(默认目录,设置新用户时可以修改,之后输入修改后的存放目录)


必须压缩成zip文件,因为Linux系统只支持zip文件。不支持rar的压缩包文件,请一定要记住这点。


或者是一个一个将文件通过FTP上传到相应存放的目录下面 默认是这个 /var/www/html/nextcloud/data/管理员用户名/files 在第一次设置时可以改 改成你修改后的目录位置


4、恢复权限


上传完毕后,通过浏览器登录到nextcloud。我们看到你的文件回来了,图片视频文档的预览都能打开了,所有的文件都有了。这里告诉你们别高兴的太早了,之前的文件是能用了,但是上传新文件就不行了,会提示你错误403 forbidden 服务器禁止上传。什么意思?就是你没有上传的权限,新账号可以因为有权限,原来账号的权限随着文件的丢失一块都没了,服务器禁止你再上传文件了。怎么解决,改掉权限


在FTP里我们看到 /var/www/html/nextcloud/data/管理员用户名/files 这个目录的权限和用户组都是root了,也就是说这些文件是通过后台FTP上传的,不是通过nextcloud上传的,那么我们就把权限和用户组都改成apache。


我们以apache安装的nextcloud为例来修改权限


通过远程控制输入下面的命令


chown -R apache:apache /var/www/html/nextcloud/data/管理员用户名/files


刷新FTP目录后台,用户组和权限全部变成了apache,里面的目录和文件也变了。chown命令是修改目录权限,而chown -R则是修改这个目录以及这个目录下面的全部目录和文件的权限统一为这个权限,如果只修改权限就直接输入apache,如果要把用户组也得修改成apache就要在中间加上冒号,输入两个apache,然后输入你要修改的目录就可以了。


这个时候我们回到nextcloud,发现又可以正常上传了。刚才新建的账号如果不想用就在原账号的后台找到用户那一栏,在新账号的最后有个省略号,点开有个删除,点击后即可删除多余的用户,包括这个用户的所有内容信息一并被全部删除。


到这里恢复全部结束了,大家这时就可以继续的重新开始使用nextcloud了。非常简单,不要慌张,一步步的来操作就可以恢复使用的。


发表评论:

Powered By Z-BlogPHP 1.5.1 Zero

Copyright 2017-2020 站在阳光下(shibushi.cc)All Rights Reserved. 鲁ICP备17054101号