渣渣测试一枚,现在想写一个 python 小脚本,就是定时把一个 win7 上面一个固定目录下的文件拷贝到 linux 上,脚本运行在这个 linux 上面,想了几个库,貌似都不好实现阿,主要是 win7 上面没开启什么服务,有没有简便一点的方法,多谢各位大神指点了。
1
yangzhezjgs 2018-01-17 17:37:30 +08:00
虚拟机?
|
2
WO31400 2018-01-17 17:38:45 +08:00
生成 exe,运行
|
3
anjingme 2018-01-17 17:40:13 +08:00
linux 搞个 samba、nfs 服务,共享给 win7 挂载上,然后定时任务( seccopy 这类软件)把 win7 上文件拷贝到这个挂载目录上
|
4
annielong 2018-01-17 17:41:23 +08:00
先 smb 共享?
|
5
geelaw 2018-01-17 17:42:37 +08:00
Windows 上用 Task Scheduler 就可以把文件复制出去啦
|
6
FreeEx 2018-01-17 17:47:47 +08:00
只需要程序跑在 win7 上就好了,ftp 往 linux 上传。
|
7
h4lbhg1G 2018-01-17 17:53:10 +08:00
好吧,我再来推广我的 CommandTrayHost
CommandTrayHost 有一个 crontab 功能,可以精确到秒。然后如果装一个 cygwin,那么你可以用 scp 来传文件。 写一个 bat 防如下内容 @ echo off C:\cygwin64\bin\bash --login -c "cd ~/work; ./upload.sh" 然后写一个 update.sh 内容如下 #!/bin/bash rsync -rltcv --no-perms --progress --compress -e ssh nginx/nginx.conf nginx/sites-available nginx/snippets [email protected]:/etc/nginx/ |
8
h4lbhg1G 2018-01-17 17:55:53 +08:00
然后加一个 CommandTrayHost 的配置如下
{ "name": "自动上传", "path": "C:\\Windows\\System32", "cmd": "cmd.exe upload.bat", "working_directory": "D:\\bat_script", "addition_env_path": "", "use_builtin_console": false, "is_gui": false, "enabled": false, // 可选 "start_show": false, "crontab_config": { // crontab 配置 "crontab": "5 */6 * * * *", // 每 6 分钟上传一次 "method": "restart", // 支持的有 start restart stop "count": 0, // 0 表示不只限制,大于 0 的整数,表示运行多少次就不运行了 }, }, |
9
vibbow 2018-01-17 17:56:40 +08:00
非轮子的话,就直接用 goodsync
|
10
imn1 2018-01-17 17:57:57 +08:00
同步省事多了
|
11
vibbow 2018-01-17 17:58:09 +08:00
或者用 rclond + 计划任务
|
12
imcnan 2018-01-17 17:58:15 +08:00
你如果用的是 vm 虚拟机,可以直接使用目录映射,在 Linux 里直接访问 windows 的对应目录。
|
13
h4lbhg1G 2018-01-17 17:58:18 +08:00
嗯 上面的有个问题 enabled 要改成 true 才能一打开就自动运行。我发现我好像歪题了,赶紧逃<_
|
15
tushankaka 2018-01-17 17:58:42 +08:00 via Android
定时 scp 不行么。(我也不知道对不对。。)
|
16
imcnan 2018-01-17 17:59:05 +08:00
如果是两个隔离的机器,你就直接在 win7 上启动一个简单的 httpfileserver 吧,用 python 起一个就行了,或者用别的。
|
17
kemad 2018-01-17 18:03:19 +08:00
可以不同步,有条件的话,Windows 开共享,Linux 上 smbmount,搞定。
|
18
Beebird 2018-01-17 18:05:04 +08:00
假定 Windows 和 Linux 在同一子网,我用过两种方法:
1. Windows 装 sshd 服务(记不清是否依赖 cygwin 了),Linux 定时用 scp 或 rsync 2. Windows 目录设置共享,Linux 上将该目录用 cifs 挂载到本地。 根据经验,第二种更可靠,不依赖额外的服务。 |
19
songz 2018-01-17 18:06:54 +08:00 via Android
两边安个 resilio 搞定
|
20
clino 2018-01-17 18:10:26 +08:00
syncthing
|
21
dl2k 2018-01-17 18:19:03 +08:00
在 win 的机器上跑个定时任务做 PSCP 就好了
|
22
likuku 2018-01-17 18:26:16 +08:00
windows 计划任务 定时跑 rsync 把指定目录 推到 linux 服务器。
不同子网 /公网? openvpn 把 win 和 linux 连起来。 十几年前就是这么玩的,简单可靠。 |
23
likuku 2018-01-17 18:29:56 +08:00
cwRsync - Rsync for Windows | itefix.net : https://www.itefix.net/cwrsync
|
24
20has 2018-01-17 18:51:42 +08:00 via Android
rsync+cwrsync 还是增量备份 哈哈哈哈 楼上的和我说的一样
|
25
catror 2018-01-17 19:12:47 +08:00 via Android
单向同步,跑个定时任务就行了
|
26
N0stalgia 2018-01-17 19:15:14 +08:00
samba 或者 U 盘,lol
|
27
mkeith 2018-01-17 21:14:08 +08:00
winscp
|
28
killeder 2018-01-17 21:19:32 +08:00 via Android
git?
|
29
skyrem 2018-01-17 22:34:46 +08:00
|
30
suspended 2018-01-18 12:12:09 +08:00
为什么不从 Win7 上定时运行个 scp 命令,非要从 Linux 上反过来做?
|
31
wizardoz 2018-01-18 13:01:16 +08:00
计划任务
|