2016-07-22 11 views
0

Ich bin neu in der Welt von PuTTY und hoffe, dass dies eine einfache Frage ist. Ich habe 16 Programme in SAS, die ich einmal im Monat mit Crontab über PuTTY-Umgebung automatisch starten muss. Ich habe es eingerichtet, um mich zu mailen, aber es sagt mir nur, dass die Datei nicht existiert. Was fehlt mir in meinem Skript?Running SAS-Programm über Crontab PuTTY

CRONTAB: 
SHELL=/bin/bash 
* 9 15 * * /prod/file/sas-data2/....../SasProgram.sas 

Bitte helfen!

Antwort

2

In der Regel müssen Sie dem Befehl die ausführbare SAS-Datei hinzufügen. Unter der Annahme, ist es auf dem Weg dann nur

sas /prod/file/sas-data2/....../SasProgram.sas

sollte funktionieren.

Wenn es nicht im Pfad ist, dann setzen Sie den Pfad explizit mit sas voran.

1

Ich finde es viel einfacher zu pflegen, wenn der CRONAB-Eintrag auf ein Shell-Skript zeigt, das die Befehle ausführt. Wenn dann die Liste der auszuführenden SAS-Programme geändert wird, können Sie einfach die Skriptdatei bearbeiten und müssen sich nicht erneut mit CRONTAB anlegen.

Auch Jobs, die mit CRONTAB ausgeführt werden, führen normalerweise keine normale Startup-Datei aus (.profile, wenn Sh-Varianten wie bash verwendet werden). Daher ist es sinnvoll, diese im Skript zu sortieren, so dass Ihre normalen Umgebungsvariablen und Suchpfade existieren.

CRONTAB:

* 9 15 * * /mydirectory/nightly_job.ksh 

Script-Datei

#!/bin/bash 
# Set environment 
. /mydirectory/crontab.profile 
# 
cd /prod/file/sas-data2/....../ 
sas SasProgram.sas