mytips.exblog.jp ブログトップ

タグ:crontab ( 5 ) タグの人気記事
MySQL crontabで再起動 FreeBSD
MySQLを使っていると、利用メモリが増えてします。かつ自動解放されないので、定期的に再起動するようにしてみる。

下の2つのコマンドを実行したい。
mysqladmin -uroot -p shutdown
mysqld_safe&

シェルスクリプトとして
------------
#!/bin/sh
/usr/local/bin/mysqladmin -uroot -p[パスワード] shutdown
/usr/local/bin/mysqld_safe
-------------
こんな内容。
chmod で実行パーミッッションを設定しておく。
また
ファイルに直接パスワードを書かなきゃいけないので、root権限でしか見えないパーミッションに変えて保存しておく。

FreeBSDの場合、一般ユーザのcrontabは
~/.crontab
だが、rootのcrontabは、
/etc/crontab
su root

vi /etc/crontab
を開いて、1日一回(6:02AM)に実行するようにする(/dev/nullの意味はググルと分かります)

2 6 * * * root /root/restart_mysql.sh >/dev/null

これで保存しておく
ログは、
tail -f /var/log/cron
[PR]
by sato025 | 2007-10-11 01:29
crontab cacheファイルを定期的に消す
pear cacheなどのキャッシュファイルなど、放置しておくとディレクトリ内に大量のファイルが残ってしまう場合があるので、crontabでディレクトリ内のファイルを削除することをやってみる。


シェルがディレクトリ、ファイルの識別に利用できる便利なオプションがある
---------------
-delete ファイルを削除する
-ls リストを見る.'ls -dgils'と同じ振る舞いをする
-printfindコマンドの結果を表示する
-exec command {} ¥; 与えられたコマンドを実行する
-ok -execオプションのかわりに使用する.コマンドを実行する前に了承をとる
-depth ディレクトリ階層の最下層からコマンドを実行する.通常は最上位層から実行する
-prune あるディレクトリを処理対象から除外したいときに使用する
---------------

これを利用してcrontabに特定ディレクトリ内のファイル削除を実行するように設定する。

こんな風。


30 2 * * * root find /tmp/default -atime +7 -delete

7日を過ぎたファイルを削除。
あるいは

0 1 * * * root find /tmp/default -atime +7 -exec rm -rf {} \;

-execの後「rm -rf」を「-atime +7(7日を過ぎたファイル)」に対して実行

また別に便利な処理方法
*/15 * * * * root find /usr/pear_cache/default -type f -size -1500c -delete
15分ごとに、/usr/pear_cache/defaultディレクトリ以下で1500バイト以下のファイルを削除


cronでの利用以外にも通常のコマンドラインからも利用できる


find ./ -amin +60
60分以上古いファイルをfind
[PR]
by sato025 | 2007-10-10 17:42
OSX crontab (ver 10.4 と ver 10.5 Leopardと違うぞ!?)
ログインしたユーザのまま
crontab -e
とするとviでファイルが開く
(実体ファイルは「/private/var/cron/tabs/俺のID 」

--------------------------------
10.5 Leopardでは、
/usr/lib/cron/tabs/[おれのID]
に変わったようだ。
OSのアップデート後、そのままではcronが動かないようなので、sudo で既存ファイルを移動
---------------------------------


## hoge sh
*/3 * * * * /Users/[おれ]/hoge/hoge.sh

3分ごとにhoge.shを実行
[PR]
by sato025 | 2007-10-03 01:13
Dyndns 自動更新 OSXにて
chmod +x ipcheck.py
./ipcheck.py --makedat
(必要ファイルが生成される)

試しに。
./ipcheck.py -r checkip.dyndns.org [dyndnsのアカウント] [dyndnsのログインパスワード] [dyndnsに登録したドメイン(hogehoge.dyndns.org)]


crontabに登録したいので、一旦、現在の内容を確認。
crontab -l

前述のコマンドを直接crontabに書いてもいいが、.shファイルを別途作成して、crontabからは、shを実行するようにする。


vi dyndns.sh

------------------
#!/bin/sh
cd /Users/[俺]/ipcheck
./ipcheck.py -r checkip.dyndns.org [dyndnsのアカウント] [dyndnsのログインパスワード] [dyndnsに登録したドメイン(hogehoge.dyndns.org)]

------------------
chmod +x dyndns.sh

crontab -e
-------------これ追加
## dyndns update
*/30 * * * *[俺] cd /Users/[俺]/ipcheck; dyndns.sh
[PR]
by sato025 | 2007-09-29 00:57
crontab コマンド覚え書き
crontab [file]

編集
crontab -e [username]

一覧表示
crontab -l [username]

削除
crontab -r [username]
[PR]
by sato025 | 2007-09-29 00:44
|
検索
タグ
カテゴリ
以前の記事
最新のコメント
最新のトラックバック
Tool
from adgj.net wiki ..
Googleウェブマスタ..
from i yahoo i.com:..
[Mac] NAV fo..
from あるネットワーク管理者(よっ..
ライフログ
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧


var gaJsHost = (("https:" == doc ument.loc ation.protocol) ? "https://ssl." : "http://www.");doc ument.write(unesc ape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));var pageTracker = _gat._getTracker("UA-103429-5");pageTracker._trackPageview();