Mamy skrypty następujący charakter (w cron)Czy istnieje sposób w skrypcie powłoki, aby dowiedzieć się, gdzie jego wynik jest przekierowywany?
someScript.sh > /tmp/cronlog/somescript.$(date +%Y%m%d).log 2>&1
Teraz istnieje sposób, za pomocą którego zw someScript.sh
mogę dowiedzieć się, co złożyć wyjście upadł w celu?
Skrypt wysyła wiadomość e-mail z podsumowaniem. Jednocześnie chciałbym wspomnieć, że szczegóły można znaleźć w tak i tak plik wyjściowy - w wiadomości e-mail.
Jestem świadomy konstrukcji if [ -t 1 ]
, aby wykryć standardowe wyjście, ale jak uzyskać nazwę pliku wyjściowego? Należy zauważyć, że chcę, aby to było ogólne, aby ktoś mógł zmienić plik wyjściowy w cron, a skrypt nie musi być modyfikowany.
przenieść część email procesu Do skrypt wrapper, który wywołuje 'someScript.sh', sprawdza, czy działa poprawnie, a następnie przesyła odpowiednio przygotowane wiadomości e-mail (sukces, ostrzeżenie lub błąd). ELSE ustaw plik logFile, wyeksportuj go, zamień tmp/... powyżej na $ logFile, polegaj na $ {logFile} wewnątrz skryptu. Powodzenia. – shellter