我有一台机器,除了其他服务之外,还需要运行服务器虚拟机。我正在运行虚拟机:
qemu-system-x86_64 -nographic \
-enable-kvm \
-m 8G \
-smp 2 \
-hda gw_disk.qcow2
这是一个脚本start.sh
,然后我在根 crontab ( sudo crontab -e
) 上:
@reboot cd /disk/folder && setsid ./start.sh
重新启动后,我查看/var/log/syslog
并得到以下信息:
(CRON) INFO (Running @reboot jobs)
(root) CMD (cd /disk/folder && setsid ./start.sh)
(CRON) info (No MTA installed, discarding output)
我找不到进程ps -o pid,sess,cmd afx | grep qemu
知道我缺少什么吗?谢谢
这里有几件事让我突然想到
考虑
libvirt
使用它的virsh
或类似的东西进行安装,以便您的虚拟机周围有一个管理层捕获 crontab 条目的输出。它告诉您有输出,但无法通过电子邮件将其发送给您(“信息(未安装 MTA,丢弃输出) ”)。您可以将其写入系统记录器或直接写入文件:
考虑使用 systemd 单元来启动进程,而不是启动时 crontab 条目。当然,最初会更复杂,但一旦拥有它并且具有更好的日志记录和故障报告,就更容易维护
参考: