我每周日晚上在Linux PC上使用cron作业运行脚本。当我以root身份登录时,我希望显示最后一个脚本执行的输出。
这是一个脚本msg.sh
:
#!/bin/bash
if [ -e /user/script/$start.sh ]
then
echo " starting service "
else
echo " service not started "
echo " Please check the start.sh file or manually start the service "
fi
exit 0
其输出:
starting service
或
service not started
Please check the start.sh file or manually start the service
如何在登录时显示此输出?
答案 0 :(得分:2)
在您的cron作业中,将输出保存到某个文件:
#!/bin/bash
# drop the contents of a log file and create a new one
LOGFILE=/root/cronjob_status.log
date > $LOGFILE
if [ -e /user/script/$start.sh ]
then
echo " starting service " >> $LOGFILE
else
echo " service not started " >> $LOGFILE
echo " Please check the start.sh file or manuly start the service " >> $LOGFILE
fi
exit 0
在以root身份登录时执行的/root/.bash_profile
(假设您的shell为/bin/bash
),cat
该文件:
cat /root/cronjob_status.log
答案 1 :(得分:1)
保存到文件(afenster的答案)是一个很好的解决方案。
或者,您可以在cron配置文件中设置MAILTO
变量。然后,Cron会将其运行的命令的任何输出发送到该地址。