我正在尝试创建一个crontab作业,每次我的服务器(Ubuntu 16.04)重新启动时都会运行该作业。我希望命令在新屏幕上运行。如果我在命令行中运行以下命令,它每次都有效。下面的命令启动了我的Monero矿工。
screen minerd -a cryptonight -o stratum+tcp://xmr.pool.minergate.com:45560 -u XXXXXXXXXXX@gmail.com -p x
下面是我的crontab作业的图片。我用root创建了它。当我重新启动服务器时,我期望在新屏幕上运行的进程不是。没有进程正在运行,也没有创建其他屏幕。
如果您不想查看图片,请输入以下crontab代码:
@reboot screen minerd -a cryptonight -o stratum+tcp://xmr.pool.minergate.com:45560 -u XXXXXXXXXXX@gmail.com -p x
谁能告诉我自己可能做错了什么?
答案 0 :(得分:0)
要监控您的流程并在服务器崩溃或流程崩溃时启用自动重启,我建议您改用systemd
。首先使用正确的配置指定守护程序服务,然后使用systemctl
启用该服务。
创建systemd
服务文件:
sudo touch /etc/systemd/system/miner.service
编辑systemd
服务文件(替换$ {}占位符):
[单位]
描述= Monero Miner
后= network.target
[服务]
类型=分叉
用户= $ {} YOUR_USER
Groupt = $ {} YOUR_GROUP
ExecStart = $ {PATH_TO_MINER} / minerd -a cryptonight -o stratum + tcp://xmr.pool.minergate.com:45560 -u XXXXXXXXXXX@gmail.com -p x
WorkingDirectory =〜
重启=接通故障
[安装]
WantedBy = multi-user.target
备注:如果您的矿工在启动时没有自行分叉,您可能需要将Type=forking
更改为Type=simple
。
让systemd
了解您的服务:
sudo systemctl daemon-reload
启用新服务:
sudo systemctl enable miner