我有一个 LAMP 服务器设置。我的桌面上有源文件夹,无需“sudo”即可编辑。然后,我使用 sudo rsync 将文件同步到 var/www。我为 var/www 中的文件夹提供了必要的权限(上述文件夹的权限为 770,因为 www-data 已添加到根组,并且 apache 必须写入此目录,即上传目录)。它运行良好。但是,当我重新启动计算机时,var/www 中上传文件夹中的文件消失了。我不明白发生了什么。
drwxrwxr-x 2 root www-data 4096 Dec 15 08:26 uploaded_files
我的文件夹权限如下所示。
编辑:上传一段时间后文件就会消失。
我简直糊涂至极。
任何帮助都将不胜感激。顺便说一下,我是 Linux 文件、文件夹权限方面的新手。
谢谢。
答案1
我的源文件在桌面上,我手动与 var/www 同步,这样我就不必单独对文件执行 sudo 操作。每当我觉得需要同步时,我都会通过同步整个桌面文件夹来实现这一点。我在 rsync 命令中使用了“--delete”位,这样目标中可能已从桌面源中删除的任何多余文件都将被删除。
问题在于:/upload/dir
我的桌面上有一个,但实际上并没有上传任何内容,因为它是在文档根目录中完成的,也就是/var/www/
。因此,每当我同步文件时,我的桌面/upload/dir
(它是空的并且永远是空的)就会替换/upload/dir
文档根目录中的。因此内容消失了。
寓意(对我和新的 Linux 用户而言):在没有基本了解的情况下,永远不要盲目地复制终端中的命令。
答案2
它们要么没有被保存,要么被删除。检查 /var/www 是否不在 tmpfs 上(这类似于 RAM 磁盘,文件不会保存到磁盘,而是保存在内存中,因此在重启时会消失):
df -hT /var/www
并查看“类型”下的内容。例如,我将日志保存在 tmpfs 上:
$ df -hT /var/log
Filesystem Type Size Used Avail Use% Mounted on
tmpfs tmpfs 3.9G 672K 3.9G 1% /var/log