[Seek Help] 如何实现开机自动复制局域网windows共享文件夹内文件到指定目录
Tofloor
poster avatar
Cnyg
deepin
2022-11-18 17:47
Author

装了商店的火绒杀毒,但无法自动更新病毒库。

发现可以复制Windows版本的病毒库到 opt/apps/cn.huorong.esm/files/share/virdb 目录下就可以更新Linux版本的火绒

我把windows版本火绒的病毒设置了共享文件夹 A

问题是:如何实现开机自动 从Windows共享文件夹A中 把所有文件复制到 linux系统 opt/apps/cn.huorong.esm/files/share/virdb中?

Reply Favorite View the author
All Replies
神末shenmo
deepin
Spark-App
Q&A Team
2022-11-18 18:15
#1

这个共享文件夹是怎么回事?是另一台windows电脑共享的吗

Reply View the author
Cnyg
deepin
2022-11-18 18:23
#2
神末shenmo

这个共享文件夹是怎么回事?是另一台windows电脑共享的吗

是的~另外一个电脑 windows系统

就是把红框内的另外一台电脑上 windows 共享文件夹所有文件 自动复制到 Linux上 火绒病毒库目录,开机时候自动执行一次复制同步就可以。
1.png

Reply View the author
blue_whale
deepin
2022-11-18 18:58
#3

自启动程序wiki文档:

文档1 文档2

文档1是linux早期的自启动开发方式

文档2是使用systemd托管服务的方式自启动

至于自启动后执行哪些命令, 这个需要你自己找出可以复制文件的方法

比如cp命令

Reply View the author
red13
deepin
2022-11-18 20:17
#4

具体思路就是,建一个服务系统启动后自动挂载远程共享,然后复制文件

1:win系统里建好共享文件夹,设置好账号与访问密码
2:本地建一个文件夹,路径里不要有中文也不要有空格
3:建立一个本地自定义服务
3-1:终端下切换到 root 身份
3-2:cd /lib/systemd/system
3-3:touch amws.service
3-4:vi 编辑这个文件,内容如下

[Unit]
#服务简单说明名
Description=auto_mount_win_share
#服务说明
Documentation=auto mount win share file
#服务在网络成功后启动
After=network.target network-online.target nmbd.service winbind.service
[Service]#服务使用的账户与组
User=root
Group=root
#服务执行的脚本(具体的执行命令放到下边的脚本里)
ExecStart=/home/red13/autoMWS.sh
[Install]
WantedBy=multi-user.target

4:建立执行脚本
4-1:touch /home/red13/autoMWS.sh
4-2:脚本里添加 如下 内容

#!/bin/bash
#挂载win的共享到本地,这里的IP与路径换成自己的,共享账号与密码也是一样
export mpath=/home/red13/Desktop/win
export winUser=Datavip
export winPass=112233
#本地存放路径
export savepath=/home/red13/copyF
mount -t cifs //192.168.1.2/weblog/jx251 $​mpath -o username=$​winUser,password=$winPass
#建一个本地文件夹,用于复制,这里,,看具体需求准备把共享文件复制到哪里
mkdir -p $savepath
#复制文件到指定路径
cp -rf $​mpath/* $​savepath

4-3:给脚本加可执行权限 chmod +x /home/red13/autoMWS.sh
4-4:将自定义服务设置为启用状态 systemctl enable amws

Reply View the author
Cnyg
deepin
2022-11-18 22:18
#5
It has been deleted!
Cnyg
deepin
2022-11-18 23:57
#6

脚本我这么写,权限777

sudo mount -t cifs -ousername=1,password=1 //192.168.100.12/HuoRong /home/Water/Downloads/HuoRong
cp -u /home/Water/Downloads/HuoRong/* /opt/apps/cn.huorong.esm/files/share/virdb/

在终端root权限下可以正常复制。

服务我是这样的

[Unit]
Description=HuoRongUP
After=network.target network-online.target nmbd.service winbid.service
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=no
RestartSec=1
User=root
Group=root
ExecStart=/home/Water/Downloads/HuoRongUP.sh

[Install]
WantedBy=multi-user.target

服务设置为启用状态,并且尝试运行,但脚本并没有成功运行,估计是没有root权限的问题。哪里出问题呢?

Reply View the author
kinggochj
deepin
2022-11-21 17:16
#7

其实还有个更傻瓜的方式,可以在windows上装个freefilesync 可以配置成实时同步😄

Reply View the author