アカウントを払い出しているユーザのうち、一部はメールを溜め込んでいたり、単にSPAMの温床になっていたりするものがあるので、メールは定期的に削除してしまえ、とか考えてみた。 /usr/local/bin/maildir-cleanup #!/bin/sh if [ $# -ne 2 -o ! -d "$1" -o "$2" -lt "1" ]; then echo '' echo "Usage: $0 <directory> <days>" echo '' echo ' Delete mail files older than specified days from the specified maildir' echo ' This program will delete <directory>/(new|cur|tmp)/*' echo '' exit 1 fi /usr/bin/fi
バックアップファイルの作り方。20年近く前に教えてもらったもの。リビジョン管理が発達したせいか、知らない人が多かったので書いてみる。 cp foobar foobar.bak とするのではなくて、 mv foobar foobar.bak cp foobar.bak foobar とする。こうすることでタイムスタンプやらi-nodeやらも保持される。これは、 mv foobar{,.bak} cp foobar{.bak,} とも書ける。csh系であれば alias bak 'mv \!^{,.bak}; cp \!^{.bak,}' としておくと便利。bashのことはよくわからない。 カテゴリー » UN*X 投稿日 » 2007/09/26 水曜日 - 18:41:07 by かなだ コメントはこちらからどうぞ。ご自身のサイトからトラックバックを利用する場合は以
Mar 18, 2007 ご存知のように、POSIX (UNIX, Linux など) では bash などのシェルスクリプトをもちいて 処理を自動化できます。ここでは、シェルスクリプトを関数言語的に味付けして遊んでみました。 bash の関数は再帰的に呼び出すことが可能なので、例えば、階層的なディレクトリ構造以下の 全てのファイルに同じ処理を施したいときは以下のような簡単なスクリプト (for_all) でできます。 このスクリプトで 変数 FULL をlocal で宣言しているのがミソで、 こうすることによって、変数が関数内だけで有効になるので、関数を再帰的に定義することができるようになります。 for_all の内部で定義されている関数 rec は以下のように動作します。 ls で見つかったものがファイルなら $1 で指定された処理を行う。 ディレクトリなら rec を再帰的に呼び出
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く