シェルスクリプト総合 その16
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2010/02/20(土) 14:10:05スクリプトのお勉強・自慢・腕試しなどにどうぞ。
まずは注意点、リンク、地鎮祭など(>>1-6くらい)をご覧ください。
□お約束
・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。
bash/zsh/ksh/ashなどに依存する場合は明示しましょう。
Linuxユーザは/bin/shの正体がbashなので特に注意。
FreeBSDユーザは/bin/shの正体がashなので注意。
v7 shに一番近くて、現役のshは、OpenSolaris由来のheirloom sh。
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/sh/
http://heirloom.sourceforge.net/sh.html
・csh/tcshのシェルスクリプトは推奨されません。
(理由は「csh-whynot」でググれ)
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。
manや参考リンクを見ましょう。
aproposないしはman -kでそれらしい単語による簡単な検索もできます。
・シェルスクリプトのことをシェルってゆーな
・シェルで使えるワイルドカード等は正規表現ではありません。
正規表現の話題はスレ違い(正規表現スレへ)
□初心者へのアドバイス:
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも
RubyやPerlの方が適した仕事には素直にそちらを使いましょう。
・知らないコマンドが出てきたらmanを引きましょう。
・思い通りに動かないときは、まずは sh -x でトレースしましょう。
前スレ
シェルスクリプト総合 その15
http://pc12.2ch.net/test/read.cgi/unix/1246408968/l50
0535名無しさん@お腹いっぱい。
2010/08/08(日) 20:39:19リスト化したファイルを読み込んでfind検索の後、圧縮かけて削除
処理させるスクリプト書いているのですが、どう書いて良いのか??
1)/home/hoge配下に、sample.lstと言うファイルを作成
2)(1)のリストを読み込んで、最終アクセスが7日経過しているファイルを検索
3)(2)に該当したものを圧縮して、元ファイルを削除する。
/*リスト化ファイル内*/
/home/aaa/abc
/home/bbb/abc
/* バックアップスクリプト*/
#!/bin/sh
BACKUPLIST=/home/hoge/sample.lst
FIND=`find $BACKUPLIST -type f -daystart -atime +7 `
tar cvzf `date +%Y%m%d`.tar.gz $TARGET && rm $TARGET
もちろん、上記では色々と問題がありますがこう言う風な処理をしたいと。
http://centossrv.com/backup.shtml ここの処理に、find検索の処理を追加
出来れば解決なのですが・・・。
0536名無しさん@お腹いっぱい。
2010/08/08(日) 20:40:39FIND=`find $BACKUPLIST -type f -daystart -atime +7 `
tar cvzf `date +%Y%m%d`.tar.gz $FIND && rm $FIND
でした。
■ このスレッドは過去ログ倉庫に格納されています