win按顺序复制文件 (win按顺序复制文件怎么操作)

卡住你3000简介:

名词解释:

批量顺序复制文件:从主控到被控1,被控2,复制文件。卡住问题。

批量复制文件:从主控到被控1,被控2,复制文件。并发数可以通过多线程并发来控制。并发复制,解决单线程卡住问题。


3000复制文件命令卡的命令:

kct, k copy files to 被控机。kcf。 k copy files from 被控机。

命令系统需求:支持上述两个命令win,linux,mac,使用树莓派;

命令依赖卡住你3000,依赖nodelist.csv;

需要安装被控机powershell;

对于linux不支持密码连接的被控机需要建立ssh-keyfile,并做免密。


使用场景:

推送安装包.sh脚本,推送.py脚本。


主要复制文件的说明:

1卡住你3000,支持从win复制文件到win,支持从linux复制文件到linux,支持从win,linux任意复制文件。还支持mac,树莓派。


2 将文件从主控机的自定义目录复制到被控机的自定义目录。『主控机(孙权)嫁妹,孙尚香.jpg,给被控机(刘备)』kct #从主控机到被控机复制文件


3 将文件从被控机的自定义目录复制到主控机的自定义目录。『蒋干偷书,本来想劝降东吴。但从东吴(被控机)盗回假投降书.jpg』kcf #从被控机到主控机复制文件


参数:

[String]$LiteralPath, #不支持[ ]* ? 源目录[String]$Path,源目录[String]$Destination,目标目录[Switch]$Recurse 递归,

问:和scp有啥不同?答:1可限制并发任务数。用户自己的基础cpu核心数,网卡io,磁盘io,调整并发数。2scp有癌症,主控机,被控机必须安装scp。卡死你3000复制文件linux被控机基于sftp,不需要安装被控机scp。


例子:

问:如何从【主控机】到【被控机】复制文件?答:非并发复制

$1组ip = '1.2.3.4','5.6.7.8'

# $1组ip = get-content /root/ip.txt #一行一个ip

foreach ($ip in $1组ip)

{

cdip $ip

kct.ps1 -LiteralPath 'c:\\控制机源目录' -Destination '/tmp/被控机目标目录' -Recurse #从主控机,复制被控机的文件

}


问:如何从【被控机】到【主控机】批量复制文件?答:非并发复制

$1组ip = '1.2.3.4','5.6.7.8'

# $1组ip = get-content /root/ip.txt #一行一个ip

foreach ($ip in $1组ip)

{

cdip $ip

kcf.ps1 -LiteralPath 'c:\\被控机源目录' -Destination 'd:\\主控机目标目录' -Recurse #从被控机,将文件复制到主控机

}


被控机之间的同步主控机【node_script】目录:

【node_script】目录是主控机-被控机之间的公共目录,从主控机中提供文件【node_script】目录,复制到被控机【node_script】。cdip 192.168.1.2 #选择被控机kctf复制主控机node_script目录脚本到当前被控机.ps1


并发复制:

问:【主控机】,【被控机】为什么复制文件是非并发?cdip 192.168.1.2 #选择被控机kctf复制主控机node_script目录脚本到当前被控机.ps1


并发复制:

问:【主控机】,【被控机】为什么复制文件是非并发?答:我没有开发复制文件的功能,所以我害怕1000台并发卡死主控机。因此,应使用以下文件,类似于手动并发复制。这种方法方便写脚本的人控制并发数量。

问:编写脚本时如何控制主控并发任务数?被控机并发任务数如何控制?答:1 卡住你3000,默认多流程并发任务数限制99。并发数不限于多线程。这两个基本上不用于单个用户任务。不建议用户限制并发。2 用户级主控机、被控机、任务。powershell v7版及以上。提供此命令。这是多线程并发。

$多线程外值_传输到线程 = 123

$1组ip = '1.2.3.4','5.6.7.8'

# $1组ip = get-content /root/ip.txt #一行一个ip

$1组ip | ForEach-Object -ThrottleLimit 5 -TimeoutSeconds 60 -Parallel{

kct.ps1 -LiteralPath 'c:\\控制机源目录' -Destination '/tmp/被控机目标目录' -Recurse #从主控机,复制被控机的文件


这里调用函数,必须在这里定义。外部不能定义。外部无法定义。因为这是一个单独的线程。不支持执行代码块。支持脚本调用。

$c1 = $using:多线程外值_传输到线程 #变量应先克隆到线程,然后计算

}

并发复制,非并发复制,只有一行代码不同。-ThrottleLimit 5 #限制并发数 -TimeoutSeconds 60 #超时

复制文件命令:

k_copyto_ip_port_winscp2bash_user_pwd.ps1


默认是,复制子目录

参数:

【ipaddress】-->【目的ip地址】【port】-->【端口】【user】-->【用户名】【pwd】-->【密码】【LiteralPath】主控机上的文件目录【Destination】被控机上的文件目录

k_copyfrom_ip_port_winscp2bash_user_pwd.ps1默认是,复制子目录 参数【ipaddress】-->【目的ip地址】【port】-->【端口】【user】-->【用户名】【pwd】-->【密码】【LiteralPath】被控机上的文件目录【Destination】主控机上的文件目录


命令系统要求:上述命令,只限于win使用;命令依赖powershell的winscp模块;命令不依赖卡住你3000,不依赖nodelist.csv,不需要ssh-keyfile,但需要单独输入ip,端口、账户、密码。

不需要安装被控机powershell。

其他独立的,复制文件命令:

k_copyfrom_ip_port_w2l_user_expect_pwd.ps1k_copyto_ip_port_w2l_user_expect_pwd.ps1


命令系统需求:从win到linux密码自动输入;支持sudo提权;

需要安装被控机powershell

不需要ssh-keyfile

其他独立的,复制文件命令:

k_copyto_ip_port_l2l_user.ps1k_copyto_ip_port_w2l_user.ps1k_copyto_ip_port_w2w_user_pwd.ps1k_copyfrom_ip_port_l2l_user.ps1k_copyfrom_ip_port_w2l_user.ps1k_copyfrom_ip_port_w2w_user_pwd.ps1

命令系统要求:


不需要ssh-keyfile

主控机使用上述命令,不依赖卡死你3000,不依赖nodelist.csv,但是密码需要单独输入;没有pwd是的,会提示输入密码。带有pwd支持参数输入密码;

需要安装被控机powershell;谢谢观看,结束。带有pwd支持参数输入密码;需要安装被控机powershell;谢谢观看,结束。