欢迎光临
我们一直在努力

有些服务商会清理闲置小鸡,怎么写个脚本假装自己在“努力干活”?

许多提供低价或免费资源的VPS和虚拟空间服务商,为了优化资源配置和防止资源滥用,会制定“闲置清理”政策。如果您的“小鸡”(VPS)长时间处于极低负载状态(如CPU利用率接近0%,磁盘I/O几乎没有),很可能会被系统判定为闲置并自动关停或回收。本教程将指导您编写一个简单而有效的Bash脚本,通过周期性地模拟轻微的CPU、磁盘和网络活动,来假装您的机器正在“努力干活”。

警告

请确保您的脚本活动量极小。过度频繁或高负载的活动可能会违反服务商的TOS,反而导致封号。

步骤一:创建并编辑Keepalive脚本

我们将创建一个名为 keepalive.sh 的脚本,它会周期性地执行轻量级的计算、磁盘写入和外部网络探测。

#!/bin/bash

# 脚本路径: /root/keepalive.sh
LOG_FILE="/var/log/keepalive_activity.log"
TEMP_FILE="/tmp/activity_temp_file.txt"

# 确保日志文件存在
touch $LOG_FILE

# 循环模拟活动
while true; do
    TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S")
    echo "[$TIMESTAMP] Simulating light activity..." >> $LOG_FILE

    # 1. 轻量级CPU活动 (使用bc进行短暂的浮点运算)
    # 运行0.1秒,确保CPU指标有微小跳动
    echo "scale=50; 4 * a(1)" | bc -l > /dev/null &
    PID_CPU=$!
    sleep 0.1 
    kill $PID_CPU 2>/dev/null

    # 2. 磁盘I/O活动 (写入并删除一个1MB的随机文件)
    # 使用dd从/dev/urandom读取,确保活动具有随机性
    dd if=/dev/urandom of=$TEMP_FILE bs=1M count=1 iflag=fullblock status=none
    rm -f $TEMP_FILE

    # 3. 网络活动 (ping一个稳定的外部地址,模拟网络请求)
    ping -c 1 -W 1 8.8.8.8 > /dev/null

    # 间隔时间:每隔30分钟执行一次循环 (1800秒)
    sleep 1800
done

将上述内容保存为 /root/keepalive.sh

步骤二:赋予执行权限

为了让脚本能够运行,您需要给予它执行权限。

chmod +x /root/keepalive.sh

步骤三:后台运行脚本

使用 nohup 命令将脚本放入后台运行,并将其输出重定向,防止SSH会话断开后脚本停止。

bash /root/keepalive.sh &

# 或者使用更推荐的 nohup
# nohup /root/keepalive.sh > /dev/null 2>&1 &

运行后,您可以使用 ps aux | grep keepalive.sh 来确认脚本是否正在运行。

步骤四:配置开机自启动(可选,推荐)

为了确保VPS重启后脚本仍能继续工作,建议使用Cron的 @reboot 功能来配置自启动。

  1. 打开 crontab 编辑器:
crontab -e
  1. 在文件末尾添加以下一行:
@reboot sleep 60 && /root/keepalive.sh &

解释:sleep 60 确保系统启动并网络稳定后再运行脚本,避免启动失败。

配置完成后,您的VPS将每30分钟进行一次轻微的活动,有效避免被自动清理机制标记为“闲置资源”。

【本站文章皆为原创,未经允许不得转载】:汤不热吧 » 有些服务商会清理闲置小鸡,怎么写个脚本假装自己在“努力干活”?
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址