我是PuTTY世界的新手,希望这是一个简单的问题。我在SAS中有16个程序,我需要每月使用crontab通过PuTTY环境自动启动一次。我已将它设置为给我发电子邮件,但它只是告诉我该文件不存在。我的脚本中缺少什么?
CRONTAB:
SHELL=/bin/bash
* 9 15 * * /prod/file/sas-data2/....../SasProgram.sas
请帮忙!
答案 0 :(得分:2)
您通常需要将SAS可执行文件添加到命令中。假设它在路径中然后只是
sas /prod/file/sas-data2/....../SasProgram.sas
应该有效。
如果它不在路径中,则使用路径明确地前缀sas
。
答案 1 :(得分:1)
如果CRONTAB条目指向运行命令的shell脚本,我发现维护起来要容易得多。然后,如果要运行的SAS程序列表发生更改,您只需编辑脚本文件,而不必再次使用CRONTAB。
使用CRONTAB运行的作业通常不会运行正常的启动文件(如果使用像bash这样的sh变体shell,则为.profile),因此在脚本中提供这些文件以便存在正常的环境变量和搜索路径是很有用的。
CRONTAB:
* 9 15 * * /mydirectory/nightly_job.ksh
脚本文件
#!/bin/bash
# Set environment
. /mydirectory/crontab.profile
#
cd /prod/file/sas-data2/....../
sas SasProgram.sas