义齿


先日、データベースからデータをエクスポートするタイミングのshスクリプトを書きました.内容は以下を参照してください.
このshスクリプトを直接実行するのは問題ありません.バックグラウンドのタイミングタスクに追加するとどうしても実行できません.その後、ネット上で問題の原因を探しました.以下にまとめます.
1.crontabタスクは、現在のユーザーが直接実行しているのとは異なり、後者には構成された環境変数があり、前者にはありません(これも私が直面している問題の鍵です).
そのため、スクリプトにデータなどの環境変数を追加する必要があります(もちろん、怠け者であれば、ユーザーの下のすべての環境変数を一緒に追加することができます).
操作手順:
1.shスクリプトを書いて、環境変数を加えてください.
export
exportコマンドは、現在のユーザーの下にあるすべての環境変数を表示し、必要な直接copyをshスクリプトに選択します.

#start
#create temp table
db <<!
select * into tab_wx_temp from tab_device where status=0 
go
!

#delete old file create new file
cd /export/home/userdata/
rm -rf wuxi_all.txt
bcp tab_wx_temp out wuxi_all.txt -Si -Ppasswd -Uuser -c

2.コマンド:
crontab -l
設定したタイミングタスクを表示します.自分で書いたスクリプトをタイミングタスクに追加する手順は、次のとおりです.
(1)運転
crontab -l > temp

(2)tempファイルを編集し、1行追加する
    30 0 * * * sh/home/pp.sh
毎日の真夜中0:30にsh/home/pp.shファイルの実行を開始することを示し、次の行に従います.
(3)運転
crontab temp