Shell Cronjob未重定向输出
我创建了一个test.shshell脚本,我使用crontab-e计划每1分钟执行一次,并将输出重定向到一个文件 test.shShell Cronjob未重定向输出,shell,unix,cron,Shell,Unix,Cron,我创建了一个test.shshell脚本,我使用crontab-e计划每1分钟执行一次,并将输出重定向到一个文件 test.sh echo "Printing all Environment Var" env echo "Bye Bye" 下面是我的crontab的样子 #crontab 0,1,2,3,4,5,6,7,8,9,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,
echo "Printing all Environment Var"
env
echo "Bye Bye"
下面是我的crontab的样子
#crontab
0,1,2,3,4,5,6,7,8,9,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59 * * * * sudo su - admiir -c /u01/users/admiir/test.sh > /u01/app/iir/InformaticaIR/iirlog/crontab_launchsh.log
当我运行ls-ltr时,时间戳得到更新,但输出文件中没有打印任何内容 要运行
cron
并将当前使用的环境保存到文件中,可以使用以下方法:
* * * * * env > ~/cronenv
接下来,您可以通过执行以下操作启动shell,就像它将在cron
中运行一样:
env - `cat ~/cronenv` /bin/sh
sudo crontab -u username -e
在这里,您可以尝试以下方法:
su - admiir -c "/u01/users/admiir/test.sh > /u01/app/iir/InformaticaIR/iirlog/crontab_launchsh.log"
您可以省略sudo su
,只使用su
脚本运行后,您可以使用以下命令更新cron
:
* * * * * su - admiir -c "/path/to/test.sh > /path/to/out.txt"
您还可以作为特定用户运行cron
,方法如下:
env - `cat ~/cronenv` /bin/sh
sudo crontab -u username -e
要运行
cron
并将当前使用的环境保存到文件中,可以使用以下方法:
* * * * * env > ~/cronenv
接下来,您可以通过执行以下操作启动shell,就像它将在cron
中运行一样:
env - `cat ~/cronenv` /bin/sh
sudo crontab -u username -e
在这里,您可以尝试以下方法:
su - admiir -c "/u01/users/admiir/test.sh > /u01/app/iir/InformaticaIR/iirlog/crontab_launchsh.log"
您可以省略sudo su
,只使用su
脚本运行后,您可以使用以下命令更新cron
:
* * * * * su - admiir -c "/path/to/test.sh > /path/to/out.txt"
您还可以作为特定用户运行cron
,方法如下:
env - `cat ~/cronenv` /bin/sh
sudo crontab -u username -e