CPU脚本并远程部署

CPU脚本

shell 复制代码
#!/bin/bash
# filename: cputest.sh

endless_loop()
{
	local marker="cputest_worker_$$"
	# 使用 bash -c 执行,并在命令中包含唯一标识
	/bin/bash -c "i=0; while true; do ((i+=100)); i=100; done # $marker" &
}

if [ $# != 1 ]; then
	echo "USAGE: $0 <CPUs>"
	exit 1
fi

declare -a pid_array

for i in $(seq "$1"); do
	endless_loop
	pid_array+=($!)
done

echo "Started ${#pid_array[@]} CPU stress processes:"
for pid in "${pid_array[@]}"; do
	echo "  PID: $pid (kill with: kill $pid)"
done

echo
echo "To find them later, run:  ps -ef | grep 'cputest_worker_'"

远程部署到主机

shell 复制代码
#!/bin/bash
# filename: deploy.sh

# 配置
SCRIPT_LOCAL="cputest.sh"         # 本地脚本路径
REMOTE_USER="root"                # 远程用户名,如 ubuntu、root 等
REMOTE_DIR="/data/shell/res"      # 远程存放目录

# 遍历 IP 段 192.168.31.1 到 192.168.31.10
for i in {1..10}; do
    IP="10.78.71.$i"
    echo ">>> Processing $IP ..."

    # 创建没记录
    ssh -q "${REMOTE_USER}@${IP}" "mkdir -p ${REMOTE_DIR}"

    # 拷贝脚本到远程主机
    scp -q "$SCRIPT_LOCAL" "${REMOTE_USER}@${IP}:${REMOTE_DIR}/${SCRIPT_LOCAL}" || {
        echo "❌ Failed to copy to $IP"
        continue
    }

    # 远程执行
    ssh -q $REMOTE_USER@$IP <<EOF 2>&1 | grep -v -E "Authorized|Web console" | grep -v '^$'

cd $REMOTE_DIR
# 关闭之前的进程
ps -ef | grep cputest_worker | grep -v grep | awk '{print \$2}' | xargs -r kill -9
# 设置权限
chmod +x ./$SCRIPT_LOCAL
# 后台执行
nohup ./$SCRIPT_LOCAL 1 >> /dev/null 2>&1 &

EOF

    echo "✅ Successfully deployed and executed on $IP"
done
相关推荐
AnxiangLemon7 天前
Warp Lite :一个专注本地使用的开源终端
终端·shell·warp·warp lite
sbjdhjd10 天前
从污点追踪断点到 PHP-FPM 请求队列:HIDS PHP WebShell 样本复盘
开发语言·网络安全·数据挖掘·渗透测试·开源·php·shell
Shell运维手记13 天前
Shell 结构化命令知识点总结(case、for、while)
运维·microsoft·shell·脚本
云计算练习生13 天前
什么是 Bash?Linux 默认 Shell 的核心功能
linux·操作系统·bash·shell·命令解释器
猫咪很可爱14 天前
MySQL 5.7 备份恢复后函数与存储过程丢失:原因分析与正确备份姿势
数据库·mysql·bug·shell
qetfw15 天前
Linux 文件清理:find、mtime 与安全传参验证
linux·shell·1024程序员节
Lsetea17 天前
curl下载HTTPS文件报23:证书验证成功与本地写入失败分层排查
linux·https·shell·ssl证书·curl
DogDaoDao18 天前
Windows 双 Shell 全面对比:CMD 与 PowerShell 的技术剖析
windows·shell·测试·powershell·cmd·程序员开发
Lsetea19 天前
OpenSSL的checkhost显示不匹配却退出0:名称检查与证书验收
linux·https·shell·ssl证书·openssl
钱栈up22 天前
耳机音效不对,我顺手查了系统更新,结果挖出个崩溃了整天的服务
windows·shell