起因是之前有一个armian的机顶盒设备上搭建了文件服务,后面那个机顶盒设备坏掉了,文件全部弄不出来了,于是为了防患于未然就打算将文件全部放在U盘上,这样以后即使机顶盒换掉了也不至于文件丢了。
运行lsblk查看物理硬盘块设备
root@hd01:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 1 58.6G 0 disk └─sda1 8:1 1 58.6G 0 part /mnt/usb mmcblk1 179:0 0 14.7G 0 disk ├─mmcblk1p1 179:1 0 244M 0 part /boot └─mmcblk1p2 179:2 0 13.8G 0 part / mmcblk1boot0 179:32 0 4M 1 disk mmcblk1boot1 179:64 0 4M 1 disk zram0 254:0 0 50M 0 disk /var/log zram1 254:1 0 870.6M 0 disk [SWAP]
可以看到我的U盘插上去之后被识别为sda,下面有一个分区sda1,这个U盘之前就在Windows电脑下格式化过了,接下来直接挂载
先更新系统,接着安装exFAT 文件系统的支持
sudo apt update sudo apt install exfat-fuse exfat-utils
然后新建挂载点,最后挂载
mkdir /mnt/usb mount -t exfat /dev/sda1 /mnt/usb
卸载的话就
umount /mnt/usb
查看文件系统发现已经可以看到了
root@hd01:~# df -hT Filesystem Type Size Used Avail Use% Mounted on udev devtmpfs 736M 0 736M 0% /dev tmpfs tmpfs 175M 19M 156M 11% /run /dev/mmcblk1p2 ext4 14G 11G 3.0G 78% / tmpfs tmpfs 871M 0 871M 0% /dev/shm tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs tmpfs 871M 0 871M 0% /sys/fs/cgroup tmpfs tmpfs 871M 47M 825M 6% /tmp /dev/mmcblk1p1 vfat 244M 82M 163M 34% /boot /dev/zram0 ext4 49M 5.0M 40M 11% /var/log tmpfs tmpfs 175M 20K 175M 1% /run/user/1000 overlaid overlay 175M 20K 175M 1% /run/user/1000/admin-firefox-2tklksn6.default overlaid overlay 175M 20K 175M 1% /run/user/1000/admin-firefox-08nklp8g.default-release tmpfs tmpfs 175M 0 175M 0% /run/user/0 /dev/sda1 fuseblk 59G 5.3G 54G 9% /mnt/usb
最后这行/dev/sda1 fuseblk 59G 5.3G 54G 9% /mnt/usb 就是识别到了64G的U盘
将之前的文件全部迁移到U盘里面,由于读写速度有限,大概要几分钟等到命令运行完毕就复制完了
cp -R /opt/kiftd-master /mnt/usb/
最后修改服务
vi /etc/systemd/system/kiftd.service
改成下面这样就好了
[Unit] Description=kiftd After=network.target [Service] ExecStart=/home/jdk1.8.0_261/bin/java -jar kiftd-1.1.0-RELEASE.jar -start WorkingDirectory=/mnt/usb/kiftd-master User=root Group=root Restart=always [Install] WantedBy=multi-user.target
这个其实是用java执行一条命令开启这个文件服务的,只是把这一步做成一个linux下的service方便用
系统的systemd来start/restart/enable/stop
Java命令的绝对路径可以用下面这条命令来找到,重要的其实就是java -jar kiftd-1.1.0-RELEASE.jar -start这一条
,不做成systemd服务也可以单独运行
root@hd01:~# which java /home/jdk1.8.0_261/bin/java
改完之后就需要重启systemd
systemctl daemon-reload
之后就可以这样管理它了
root@hd01:~# systemctl stop kiftd root@hd01:~# systemctl disable kiftd Removed /etc/systemd/system/multi-user.target.wants/kiftd.service. root@hd01:~# systemctl enable kiftd --now Created symlink /etc/systemd/system/multi-user.target.wants/kiftd.service → /etc/systemd/system/kiftd.service.
这样把它迁移到U盘之后下次机顶盒坏了,就可以把U盘插到另一台机顶盒继续用了
发表评论