「Linux」カテゴリーアーカイブ

cronの設定

http://www.express.nec.co.jp/linux/distributions/knowledge/system/crond.html
http://cyberam.dip.jp/linux_foundation/taskschedule/cron_main.html

SHELL 使用するシェルの設定
PATH パスの定義
MAILTO 指定されたユーザ宛にcronの実行結果をメール送信する(空白の場合(MAILTO="")はメール送信を行わない。 またMAILTO自体を記述しない場合は/etc/crontabの所有者にメール送信される。)また複数のユーザを指定したい 場合はユーザ名をカンマ(,)で区切る。
HOME コマンドを実行する際のホームディレクトリの設定

変数のパターンマッチ

http://www.atmarkit.co.jp/flinux/rensai/theory08/theory08a.html

* ${変数#パターン}
変数の内容について、最初の部分とパターンがマッチしたら、最も短く一致する部分を取り除いた残りの部分を返す。
* ${変数##パターン}
変数の内容について、最初の部分とパターンがマッチしたら、最も長く一致する部分を取り除いた残りの部分を返す。
* ${変数%パターン}
変数の内容について、最後の部分とパターンがマッチしたら、最も短く一致する部分を取り除いた残りの部分を返す。
* ${変数%%パターン}
変数の内容について、最後の部分とパターンがマッチしたら、最も長く一致する部分を取り除いた残りの部分を返す。
 変数testpathに/home/sekino/Linux/how.to.linuxという値を設定しておくと、
$ echo ${testpath##/*/}
how.to.linux
$ echo ${testpath#/*/}
sekino/Linux/how.to.linux
$ echo ${testpath%%.*}
/home/sekino/Linux/how
$ echo ${testpath%.*}
/home/sekino/Linux/how.to
といった結果になります。また、ファイル拡張子を置き換えるという観点からは、
#!/bin/sh
file=scan01.jpg
echo ${file}
echo ${file%jpg}
echo ${file%jpg}png
というスクリプトを実行すると分かりやすいと思います。

rsyncのexcludeリストの書き方

ディレクトリ名、ファイル名だけ書くと、ディレクトリツリー内のすべての一致する名前のディレクトリとファイルが、除外されてしまう。
たとえば、
cache
と書くと、
ディレクトリツリー内のすべてのcacheディレクトリが除外されてしまう。
ルート直下のcacheだけを除外したい場合は、
/cache
と書かなくてはいけない。
/stats
.svn
/web/uploads
/cache
/log
/web/.htaccess
上記のように書いた場合、すべての「.svn」が除外され、
他のディレクトリやファイルは、それだけが除外される。

bad interpreter: そのようなファイルやディレクトリはありません

http://yasuharu.net/memo/index.php?id=13
(以下引用 )

Linux - : bad interpreter: そのようなファイルやディレクトリはありません
このエラーは改行コードの違いにより起こるエラーです。
FTPのASCIIモードで更新するファイルを転送している場合などは
このような問題は起こりにくいのですが、
Windows上でファイル編集して、そのままSamba経由で
ファイルを保存している場合などこの問題にあたりやすいです。
このような方法でLinux上のファイルを読み書きしている場合
いつも気をつけておかないと無駄な時間をすごすことになりかねます。
さて、改行コードの直し方ですが、
一番手っ取り早いのはFTPのASCIIモードで転送することでしょうか。
これなら自動的に改行コードを変換してくれます。
ここではLinux上で改行コードの変換の仕方について扱いと思います。
nkf -Lu [入力ファイル] > [出力ファイル]
これで改行コードが変換されたファイルが生成されます。
入力ファイル = 出力ファイルでやると
ファイルの中身が消えるので注意してください。