如何配置Cron Job使Monero CLI挖矿脚本永久运行?
解决Monero挖矿进程随SSH断开终止的问题
问题根源
SSH会话关闭时,系统会向关联的前台进程发送SIGHUP信号,导致进程终止,这就是你遇到的挖矿进程随SSH断开停止的原因。以下是几种解决方法,从临时后台运行到自动监控重启,按需选择:
方法1:用nohup让进程脱离会话后台运行
直接通过以下命令启动挖矿脚本,即可让进程不受SSH会话影响:
nohup ./file.sh > /dev/null 2>&1 &
nohup:忽略SIGHUP信号,防止会话关闭时进程被终止> /dev/null 2>&1:将标准输出和错误输出重定向到空设备,避免生成冗余的nohup.out文件占用空间&:让进程在后台运行
方法2:用screen/tmux持久化会话(适合需要随时查看挖矿状态的场景)
如果服务器支持安装工具,可以用screen或tmux创建持久化会话:
- 安装screen(Debian/Ubuntu):
apt update && apt install -y screen
- 创建挖矿专用会话:
screen -S monero-miner
- 在会话内启动挖矿脚本:
./file.sh
- 按
Ctrl+A+D分离会话(此时关闭SSH不影响进程),后续要查看状态时执行:
screen -r monero-miner
方法3:Cron+监控脚本实现自动重启(推荐,无人值守)
要实现进程停止时自动重启,可编写监控脚本配合Cron定期检查:
步骤1:编写监控脚本
创建monitor-miner.sh脚本(路径可自定义,比如网站根目录):
#!/bin/bash # 替换为你的挖矿脚本绝对路径 MINER_SCRIPT="/var/www/html/file.sh" # 替换为你的挖矿进程名称(用ps aux | grep monero可查看) MINER_PROCESS="monerod" # 检查进程是否存活 if ! pgrep -x "$MINER_PROCESS" > /dev/null; then # 重启挖矿进程 nohup "$MINER_SCRIPT" > /dev/null 2>&1 & # 可选:记录重启日志,方便排查 echo "$(date '+%Y-%m-%d %H:%M:%S'): 挖矿进程已自动重启" >> /var/log/monero-miner-monitor.log fi
给脚本添加执行权限:
chmod +x monitor-miner.sh
步骤2:配置Cron定时任务
- 打开Cron编辑器:
crontab -e
- 添加以下内容,让脚本每分钟检查一次进程状态:
* * * * * /path/to/monitor-miner.sh
(替换/path/to/monitor-miner.sh为脚本的绝对路径)
3. 保存退出后,Cron会自动生效,每分钟执行一次监控,发现进程停止就自动重启。
注意事项
- 确保服务器资源充足,避免挖矿进程占用过多CPU/内存影响WordPress站点运行
- 部分主机服务商禁止挖矿行为,需提前确认服务条款,避免账号被封禁
- 定期检查监控日志(如果配置了),确保自动重启机制正常工作
内容的提问来源于stack exchange,提问作者Foxdev
相关产品推荐
相关产品推荐

