单位有一闲置笔记本电脑,配置比较老,T410S,3G内存跑windows很吃力,查了一下竟然是1.8寸的micro sata接口硬盘,不支持TRIM,性能越用越拉跨,换2.5硬盘升级的想法得不偿失了,那就装个linux系统当文件共享服务器吧。 选linux系统的原因: 1、系统稳定,长期不重启也没问题,适合当服务器; 2、硬件要求低,低配置电脑也能跑; 3、安全,都是windows用户,没接触过Linux; 4、尝尝鲜。 本想装ubuntu,但是按照完成后总是进不了系统,一直处于黑背景状态,鼠标是个×,不知是第一次启动需要时间长或是什么其他原因,最后懒得等了,装的deepin V20社区版,本想装无桌面版的,后来考虑到万一需要其他人维护,还是装桌面版吧。 1.8寸的硬盘是系统最大的瓶颈,点任何操作都看到硬盘灯狂闪,没有TRIM真是坑,好在安装文件共享功能后没感觉到很慢,凑合用吧。
part1:安装文件共享系统 系统安装完成后,就要搭建文件共享系统了,我选用的是CuteHttpFileServer/chfs(官网http://iscute.cn/chfs),他是一个免费的、HTTP协议的文件共享服务器,使用浏览器可以快速访问。它具有以下特点:
-
单个文件,核心功能无需其他文件 跨平台运行,支持主流平台:Windows,Linux和Mac 界面简洁,简单易用 -
支持扫码下载和手机端访问,手机与电脑之间共享文件非常方便 支持账户权限控制和地址过滤 支持快速分享文字片段 支持webdav协议 -
与其他常用文件共享方式(如FTP,飞秋,网盘,自己建站)相比,具有使用简单,适用场景更多的优点,在个人使用以及共享给他人的场景中非常方便快捷。 其安装包有windows下的带GUI的安装包,在windows下使用过,配置比较简单。这次在Linux下,只能使用无gui的版本了,根据个人电脑情况选择下载安装包,我下的是chfs-linux-amd64-2.0.zip。 下载完成后解压,目录里只有一个chsf可执行文件。 由于没有gui界面,所以需要使用命令行启动服务。 运行终端,在终端中使用管理员身份运行命令,具体命令在官网介绍的很详细了,
//都使用默认参数,共享目录为程序运行目录,监听端口号为80
chfs
//共享目录为D盘,监听端口号为8080
chfs --path="d:/" --port=8080
//共享目录为"d:\\projects"和"e:\\nsis",监听端口号为80
chfs --path="d:\\projects|e:\\nsis"
//白名单模式,允许192.168.1.2-192.168.1.100以及192.168.1.200进行访问
chfs --allow="192.168.1.2-192.168.1.100,192.168.1.200"
//黑名单模式,禁止192.168.1.2-192.168.1.100以及192.168.1.200进行访问
chfs --allow="not(192.168.1.2-192.168.1.100,192.168.1.200)"
//匿名用户具有只读权限(默认情况下匿名用户具有读写权限)
//账户ceshizu,密码为ceshizu123,对根目录的权限为只读,但对test目录具有读写权限
//账户yanfazu,密码为yanfazu123,对根目录的权限为只读,但对yanfa目录具有读写权限
chfs --rule="::r|ceshizu:ceshizu123:r:test:rw|yanfazu:yanfazu123:r:yanfa:rw"
//匿名用户什么权限都没有(默认情况下匿名用户具有读写权限)
//账户admin,密码为admin123,具有读写权限
//账户zhangsan,密码为zhangsan123,对根目录的权限为不可读写,但对zhangsanfiles目录具有读写权限
chfs --rule="::|admin:admin123:rw|zhangsan:zhangsan123::zhangsanfiles:rw"
//通过配置文件进行配置,该文件可以不存在,待以后需要更改配置时使用
chfs --file="d:\chfs\chfs.ini"
比如我的共享服务器命令:
sudo /home/cpoe/Downloads/chfs-linux-amd64-2.0/chfs --path=//media/cpoe/56AE0D13AE0CECF5/xnxmb_file --rule="::|hzg:abc123:rwd|zhm:zhm:rw|" 在这里插入代码片
意思是我的chfs可执行文件路径是/home/cpoe/Downloads/chfs-linux-amd64-2.0/chfs,我要共享的文件夹路径是/media/cpoe/56AE0D13AE0CECF5/xnxmb_file,用户权限方面:guest用户关闭,hzg用户名的密码是abc123权限是可读可写可删,zhm用户名的密码是zhm权限是可读可写不可删。运行后终端显示如下: 直接在局域网其他电脑浏览器内输入192.168.1.66即可访问。 点登陆,输入用户名密码后即可登陆并进行上传下载文件了。 用户的登陆、上传、下载等操作都会被日志记录,防止有人恶意操作破坏文件系统。 日志文件ops.log在你启动终端的路径内。
part2:定时备份文件夹到百度云盘。 毕竟是老爷机当服务器,为防止硬盘损坏导致数据丢失,对文件进行备份是必要的手段,考虑到raid还要花钱,看了看口袋还是算了吧。还是用免费的吧,百度云盘不是有定时备份功能么,虽然下载速度拉跨,但是平时共享的文件也不大,速度慢可以接受。 满心欢喜的下载好deepin版的百度云盘,登陆进去发现linux的竟然没有windows版本的目录定时备份功能…… 那只能另寻其他方法了,经过搜索参考各位大神的文章,最后选择用python的bypy进行备份。 deepin v20自带了python3.7.3,那么直接pip3 install bypy就可以了。 安装成功后执行
bypy info
会出现堆英文,其中有个链接,点击链接或复制链接到浏览器打开,会跳转到百度云盘,输入账号密码登录授权,会出现一个授权码,将授权码复制,然后回到终端处将授权码贴上,回车,即可完成关联。 下面该上传同步文件夹到百度云盘了,在终端输入
cd /media/cpoe/56AE0D13AE0CECF5/xnxmb_file
bypy upload
意思是进入要上传的目录,然后使用bypy upload上传此目录到百度云。 由于百度云盘限制,bypy上传的文件都在百度云盘/我的应用数据/bypy文件夹下。 part3:定时上传 上传功能搞定后,下面就是解放双手,用linux的crontab实现定时执行了。 首先将刚才的命令写入.sh文件
#!/bin/sh
cd /media/cpoe/56AE0D13AE0CECF5/xnxmb_file
bypy upload
将此脚本文件使用vim /etc/crontab加入定时脚本。具体操作请大家搜索其他大神的文章。
|