いますぐ実践! Linuxシステム管理

[バックナンバーのトップへ] [Linux システム管理のトップへ]


いますぐ実践! Linux システム管理 / Vol.002 / 読者数:216名

こんばんは,うすだです.

実はいま,仕事がかなりてんぱっています.
でも,このメルマガの原稿を書くことは,逃避にもってこいです.(^ε^;;

では,とりあえず仕事のことは忘れて,はりきってまいりましょう!

…の前に,いきなり,前回に誤りがありましたので,訂正します.
先週作った backup.sh の,date コマンドの引数に,誤りがありました.
正しくは,以下です.

#!/bin/sh

BACKUPDIR=/home/backup

while [ $# -ge 1 ]; do
        dir=$1
        echo "Backup $dir ..."
        tar cfz $BACKUPDIR/backup`echo $dir | \
                tr / -`-`date +%Y%m%d`.tgz -C $dir .
        echo "done."
        shift
done

いまさらですが,バックアップファイル名は,パス-年月日.tgz となります. 上記は %Y%m%d で年月日ですが,前回は %Y%M%d としていました.
%M だと,分になってしまいます….

作られるバックアップファイルの名前について,何も説明していませんでしたし, 誰からも突っ込みはありませんでしたが,もしご迷惑をおかけしていたら, 本当に申し訳ありません.

…で,では,はりきってまいりましょう.(-ε-;;

今週のお題 - 簡易バックアップ リローデッド

さて,先週は,あるディレクトリ以下を tar+gzip でバックアップしてくれるコマンドを,ご紹介しました.
先週の内容を忘れたかたは,以下をさらっとご覧ください.
http://www.usupi.org/sysad/001.html

しかし,いくら代替品とはいえ,自分でその都度コマンドを実行するというのは, お世辞にも便利とは言えないですよね.
ですので,今日は,決まった時間に,バックアップのコマンドを自動的に実行するようにしてみましょう.

UNIX あるいは UNIX 互換の OS には,cron という,決まった時間に何かをしてくれる,便利な働きものがいます.
今日は,このひとに働いてもらいます.

cron に登録する内容の書式は,以下の通りです.

  分 時 日 月 曜日 コマンドと引数...

分は 0〜59,時は0〜23,日は1〜31,月は1〜12,曜日は0〜7です.
曜日は,0と7が日曜,1が月曜…以下省略します.
これら5つの時間のフィールドは,特に条件がなければ,* を指定します.

cron への操作を行うには,crontab コマンドを使用します.
登録を行うには,crontab -e を実行します.

  % crontab -e

環境によりますが,vi などのエディタが起動されます.
気に入らなければ,環境変数 EDITOR で,お好みのものを指定しましょう.
(いったん,エディタを終了させます.vi だと :q を入力します.)
以下は,emacs を指定して crontab -e を実行する場合の例です.

  % export EDITOR=emacs
  % crontab -e

今までに何も登録していなければ,中身はからっぽです.
では,毎日6時30分に,/home/usu 以下のバックアップを実行するように, 指定してみましょう.
具体的には,以下の1行を加えます.
(前回作った backup.sh は,あらかじめ /usr/local/sbin に置いておきます.)

  30 6 * * * /usr/local/sbin/backup.sh /home/usu

保存して,エディタを終了すると,その内容が登録されます.
念のため,確認してみましょう.crontab -l で確認できます.

  % crontab -l
  30 6 * * * /usr/local/sbin/backup.sh /home/usu

では,実際に,6時30分に行われるか,待ってみましょう…

…待てないかたは,6時30分ではなく,今から5分後などに設定して,確認してみましょう.例えば,22時45分に実行したいのであれば,

  45 22 * * * /usr/local/sbin/backup.sh /home/usu

を登録(あるいは先ほど登録した1行を上記に変更)します.

はい,特に問題がなければ,バックアップファイルが生成されていると思います.(問題があれば,悩んでください.)
また,backup.sh が出力した内容が,メールで送られてくると思います.
こんな感じのメールです.

  From: root@usupi.org (Cron Daemon)
  To: usu@usupi.org
  Subject: Cron  /usr/local/sbin/backup.sh /home/usu

  Backup /home/usu ...
  done.

こんなメールはいらないとおっしゃるかたは,以下に変更します.

  30 6 * * * /usr/local/sbin/backup.sh /home/usu > /dev/null 2>&1

出力をすべて,ブラックホールである /dev/null に渡していますので, 何も出力がないことになり,めでたくメールが来なくなります.

これで,定期的にバックアップをしてくれるようになりました.
バックアップに限らず,いろいろ自動化して楽をするためには,cron は必須です. 是非,試してみてください.

ちなみに,root の場合は,/etc/crontab ファイルを直接編集する方法もあります.
実行の際の権限をユーザ名で指定する必要があるため,書式が若干異なりますが,一目瞭然だと思いますので,説明は割愛します.

今週の宿題

さて,今週から,宿題を出してみることにしました.(^ε^) 今週の宿題は,こちらです.

  crontab で指定する時間のフィールド5つを,すべて * にすると,
  どうなるでしょうか.

実際にやってみれば,すぐわかります.
(バックアップではなく,touch とか軽い仕事にしておきましょう.)

あとがき

↑えらそうなことを書いてしまいましたが,実は,はずかしながら,今までやったことがありませんでした.
(ひょっとすると,常識なのかもしれません…)

まだまだ,そういうものはありそうです.
こんな使い方を見つけたとか,ここがわからないとかありましたら, 遠慮なくどしどしメールをください.
採用させていただいたかたには,栗バッジを差し上げてもいいです.

ちなみに,わたしは,毎月のローン返済の振込みを忘れがちなので,給料日に, 返済の振込み忘れるなよ,というメールを自分宛に送っています.
メールで定期的に通知する,というのは,結構便利です.
ものによっては,宛先を携帯にすると,さらに便利かもしれませんね.

というわけで,今回は,簡易バックアップの自動化を行いました.
リローデッドということは,来週も…○▲¢♂◎□.
そ,それでは,また来週に,お会いしましょう.

このメルマガの登録および解除は,以下からどうぞ.
http://www.usupi.org/sysad/ (まぐまぐ ID:149633)

こんなメルマガもやっています.一日一栗! 毎日栗の絵を描いてます.
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)


[バックナンバーのトップへ] [Linux システム管理のトップへ]

トップ

バックナンバー
    [日付順] [目的別]

プロフィール

▼ リンク

独学Linux
Linuxデスクトップ環境に関する情報が満載です。 メルマガもありますよ。
Server World
CentOS 6をサーバとしたときの設定例が、これでもかというくらいたくさん載っています。 CentOS以外のディストリビューション(Fedora, Ubuntu)も充実しています。
LINUXで自宅サーバーを構築・導入(Fedora9)
Fedora9のインストールの仕方から管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
マロンくん.NET
〜サーバ管理者への道〜
Linuxをサーバとして使用するための、いろいろな設定方法が載っています。 マロンくんもかわいいです。 なんといっても、マロンくんという名前がいいですね!!
日経Linux
今や数少なくなってしまったLinuxの雑誌。ニュースやガイドもあります。
Linux Square − @IT
@ITが提供する、Linux の情報が満載。 載っていない設定方法はないんじゃないでしょうか。
gihyo.jp…技術評論社
Linuxに限らず様々な技術情報が満載のサイト。 SoftwareDesign誌も、 ソフトウェア技術者は必見です。
SourceForge.JP Magazine
Linux に限らず、オープンソース関連の記事が網羅されています。
ITmediaエンタープライズ:Linux Tips 一覧
Tips というより FAQ 集でしょうか。わからないことがあれば覗きましょう。
IBM developerWorks : Linux
開発者向けですが、勉強になりますよ。
Yahoo!ニュース - Linux
Yahoo!のLinuxに関するニュース一覧です。
栗日記
システム管理とかと全然関係ありませんが、毎日栗の絵を描いています。
システム管理につかれちゃったとき、癒されたいときに、ご覧ください。:-)
WEB RANKING - PC関連
ランキングに参加してみました。押してやってください。

▼ 作ってみました

Add to Google

▼ せんでん




▼ 最近読んだ本

▼ 気に入ってる本