Scripting
使用 crontab 執行 .sh 腳本
我有一個名為
diario.sh
我手動執行的文件./diario.sh
腳本文件包含以下內容:
#!/bin/bash cd /home/etapa/Scripts echo "@CDRS_ETAPATOTAL.sql" | sqlplus -s ooperadores/ooperadores@OOPERADORES | while read output; do echo $output done
當我手動執行它時工作正常,但是當我嘗試使用它執行它時,
crontab
我收到以下錯誤:ERROR: ORA-12154: TNS:could not resolve the connect identifier specified SP2-0306: Invalid option. Usage: CONN[ECT] [{logon|/|proxy} [AS {SYSDBA|SYSOPER|SYSASM|SYSBACKUP|SYSDG|SYSKM|SYSRAC}] [edition=value]] where <logon> ::= <username>[/<password>][@<connect_identifier>] <proxy> ::= <proxyuser>[<username>][/<password>][@<connect_identifier>] ERROR: ORA-12162: TNS:net service name is incorrectly specified SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
crontab
條目如下:10 * * * * /home/etapa/Scripts/diario.sh > /home/etapa/Scripts/diario.log 2>&1
請幫我解決這個問題。
當您從 cron 執行此腳本時,似乎未填充某些環境變數。您可以通過採購 (
. /path/name
) 適當的文件來解決它,例如#! /bin/bash . /home/etapa/.bash_profile