現時点では、次のように新しいスクリプトのcronジョブを設定しています。
46 22 * * * /gzm_common/diagbat9/global/prod/chgstatus.sh /backups/diagbat9/Demantra/output/SK_ITEM_EXTRACT_MFGPRO_$(date +%m%d%y).txt
.txt 拡張子を持つファイルを引数として使用します。このファイルは、cronジョブの実行時には生成されません。これは私たちが午後22時46分に得たファイルです:
22:46 SK_ITEM_EXTRACT_MFGPRO_
このファイルはゼロバイトのファイルですが、多くのデータを含める必要があります。フルファイルパスと名前を二重引用符で囲む必要がありますか?
答え1
バックスラッシュを使用してパーセント文字をエスケープする必要があります。
.../SK_ITEM_EXTRACT_MFGPRO_$(date +\%m\%d\%y).txt
crontab(5)
マニュアルページからISCの実装cron
:
「6番目」フィールド(行の残りの部分)は、実行するコマンドを指定します。行の完全なコマンド部分、改行または%文字最大1個、
/bin/sh
crontabファイルの変数で指定されたシェルによって実行されます。コマンドのSHELL
パーセント記号()%
バックスラッシュ(\
)でエスケープしない限り、改行文字に変更され、最初の%以降のすべてのデータが標準入力としてコマンドに送信されます。単一のコマンドラインは、シェルの末尾の「」のように複数行に分割することはできません\
。