crontabの

0 4 * * * /usr/local/pgsql/bin/pg_dump foo > /tmp/foo`date +%Y%m%d`.dmp

がどうも動かないと思ったら、

CRONTAB

「 第 6」フィールド (行の残りの部分) には実行されるコマンドを指定する。その行のコマンド部 (改行文字または文字まで)が /bin/sh (またはその crontab ファイルの SHELL 環境変数で指定されたシェル) によって実行される。コマンド中にパーセ ント記号 () がバックスラッシュ (\) によってエスケープされずに置かれていると、改行文字に置き換えられ、最初に現れた % 以降の全てのデータは標準入力としてコマンドに送られる。

””%”“は改行として扱われるのかっ。

普通にman crontabするとセクション1のcrontabの方の説明が出るので見逃してました。

THE LINUX MAN-PAGE-HOWTO : man page はいかにしてアクセスされるか?

作成する man page に正しい名称を与え、正しい場所にインストールするため には、man page がどのようにアクセスされるかについての正確な仕組みを知 ることが必要である。man page はすべて、特定のセクションに所属しており、 このセクションは1文字で表されている。Linux での標準のセクションとその 意味は次の通り。

セクション 名前

1       だれもが実行できるユーザコマンド
2       システムコール、つまり、カーネルが提供する関数 
3       サブルーチン、つまり、ライブラリ関数
4       デバイス、つまり、/dev ディレクトリのスペシャルファイル
5       ファイルフォーマットの説明、例 /etc/passwd
6       ゲーム(説明不要だろうネ)
7       その他  例: マクロパッケージや取り決め的な文書
8       システム管理者だけが実行できるシステム管理用のツール
9       Linux 独自のカーネルルーチン用のドキュメンテーション
n       新しいドキュメンテーション:よりふさわしい場所に移動されるだろう
o       古いドキュメンテーション 猶予期間として保存されているもの
l       独自のシステムについてのローカルなドキュメンテーション

エスケープすればよいと。

0 4 * * * /usr/local/pgsql/bin/pg_dump foo > /tmp/foo`date <strong>+\%Y\%m\%d</strong>`.dmp

Comments


Option