使用crontab来重新启动腻子

问题描述 投票:0回答:2

我一直在绕圈找回答这个问题。我想有,我很想念这将解决这个问题信息的关键金块,所以希望你可爱的开发人员,可以帮助我。

我使用TightVNC的远程连接到在家里我的树莓派,这是运行与串行输出一个Arduino。我要抢串行输出,它一巴掌到一个txt文件,而要做到这一点,我现在用的腻子的串行记录功能。它的工作原理出色,甚至有一个日期/时间命名功能产生有用的日志的名称。问题是,我想定期创建新的日志文件,我已经想通了如何启动和使用bash脚本.sh停止腻子会议,但我要自动执行该过程。

**请注意,我打开替代的方式来重新启动我的日志文件中的每一天,但是这是我发现在研究的几天,我已经完成了。

我认为这将是作为使用crontab的调度脚本一样简单,但我想,当运行到一个令人困惑的问题。我计划两个任务,一个停止腻子和一个在新的终端再次启动自己。杀死腻子任务工作在crontab中,并使用下面给出putty_killer.sh执行,而是采用了类似的方法来尝试重新启动腻子用适当的配置文件不执行任何操作。我不知道,如果crontab中输出错误日志,但如果它不,我不知道在哪里可以找到他们。这将是有用的信息,但主要是我只是想知道为什么重启将无法正常工作。

putty_logger.是

#!/bin/bash
sleep 1
/usr/bin/lxterminal -e /usr/bin/putty -load Hydroponics_Test_Bed

putty_killer.是

#!/bin/bash
killall putty

crontab -e命令

# m h dom mon dow command
00 07 * * * /bin/bash /home/pit/sketchbook/putty_killer.sh
00 07 * * * /bin/bash /home/pit/sketchbook/putty_logger.sh

就像我说的,putty_killer工作正常,然后putty_logger什么都不做。我用两个在终端这些crontab中之外,他们工作得很好,但的crontab似乎不知道我要求在putty_logger。是否有语法问题?我需要告诉crontab来使用bash代替sh的?怎么办?我游泳,我真的不知道是做什么用的信息,所以你的帮助,将不胜感激!

INB4 1:我试过没有在crontab中的putty_killer无济于事执行putty_logger,所以我不认为putty_killer阻止putty_logger启动。

bash cron putty
2个回答
0
投票

我想通了的家伙!事实证明,如果有一个GUI组件到您的命令,你必须告诉crontab中其显示将其安装到。这可以通过出口显示器来完成=:0 && your_command。

我最后的crontab条目运行腻子竟然是:

# m h dom mon dow command
00 07 * * * export DISPLAY=:0 && /bin/bash /home/pit/sketchbook/putty_killer.sh
00 07 * * * export DISPLAY=:0 && /bin/bash /home/pit/sketchbook/putty_logger.sh

0
投票

给2>&你行的最后1>的/ tmp / somelog,你也可以打开外壳调试与-x所以你会:

00 07 * * * /bin/bash -x /home/pit/sketchbook/putty_killer.sh 2>&1 > /tmp/somelog

OK解释,Linux并不需要文件扩展名的窗口,因此不会创建它们,这样,那么你可以检查与e.g CLI日志文件的内容:

cat /tmp/somelog

并且你不需要腻子运行的ssh尝试更换腻子:

ssh -i /home/someuser/somekey usename@yourserver 'somecommand'
© www.soinside.com 2019 - 2024. All rights reserved.