全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3697 8
2010-05-19
请教高人如何在UNIX在怎么写个script来实现设定。或者推荐本书看看关于这方面的。 谢谢了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-5-19 12:41:34
如果写病毒的话 基本不用考虑 没有权限 什么都运行不了的
如果不是病毒的话 那是比较简单的 写一个后台进行(damon process) 比较系统时钟 如果满足条件 直接执行就可以(比如用open或者run或者cmd之类的)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-19 13:46:04
第一步:产生一个txt文件,内容如下:
30 19 * * * bash /.../bashfilename.bsh
这是一个crontab命令,请自己查这个命令的含义.
第二步:产生bashfilename.bsh文件,文件内容如下:
LOG="这里是日志路径"

这里是UNIX登陆SAS系统的调用命令 -sysin '这里是调用SAS程序' -log '这里是日志路径'
第三步:调用txt文件
crontab 这里是你第一步产生的txt文件路径
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-19 13:47:13
谢谢liuxin9023
你能给个具体的code
比如我想在每周6运行 a.sas, b.sas, c.sas
那就写:
if week(date)=7 then run a.sas b.sas c.sas;
请指教,谢谢了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-19 15:39:14
mytest.sh:
#!/bin/ksh

weekday=$(date  "+%u " )
#weekday=$(date  "+%w" )
echo $weekday
if [ [ $weekday -eq 6 ]]
then
  nohup sas -sysin &path/a.sas
  nohup sas -sysin &path/b.sas
  nohup sas -sysin &path/c.sas
  echo "complete!"
fi

好几月没碰了,有些忘了,if判断可能有些问题,如果不行,换成字符判断吧,执行这段script建议后台运行,目前a.sas,b.sas,c.sas是串行的,如果需要并行,三条命令后面加“&”,直接丢给后台。
另外可能sas command无法执行成功,这需要把sas path直接配给ENV里path去,或者.profile中去添加个alias,再执行下.profile即可。程序里的&path需要改成绝对路径。

这段玩的是ksh,版主那段是bsh,bsh没玩过,如果没有ksh,本人也爱莫能助了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-19 16:03:41
楼上的解答也是正解.不过还是不知道楼主的提问是并行教本运行还是串行?如果是并行,还需要考虑作业之间的依赖关系.如果是串行的,用我的回复即可.自己再琢磨吧,别指望别人给你所有现成的答案.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群