【linux】はじめてのcron実行

まず、cron が使える状態であることを確認
-------------------------------------------------
# /etc/rc.d/init.d/crond status
crond (pid xxxx) を実行中... // 動いている!
-------------------------------------------------

ターミナルからサーバーにログインしてcrontabを編集
-------------------------------------------------
crontab -e
-------------------------------------------------
※ crontab -r は全消去なので注意
※内容確認は crontab -l

//編集内容。一分おきに「テスト出力」を追記
-------------------------------------------------
*/1 * * * * echo "テスト出力" >> /var/backup_sql/test.txt
-------------------------------------------------

日付入りファイルの場合
--------------------------------------------------
*/1 * * * * echo "テスト出力" >> /var/backup_sql/backup_`date +\%Y\%m\%d`.txt
--------------------------------------------------
日付は本来 date +%Y%m%d でいけるが、cron の場合 \ のエスケープが必要

一分過ぎたらファイルが出力されているか確認する
-------------------------------------------------
cat /var/backup_sql/test.txt
-------------------------------------------------

cron のログ確認ならこっち
-------------------------------------------------
tail -f /var/log/cron
-------------------------------------------------
※tail は最後の10行のみ表示

毎晩三時二分にシェルスクリプトを実行
-------------------------------------------------
#am03:02 execution
2 3 * * * /var/myshellscript/backupmysql.sh
-------------------------------------------------

backupmysql.sh の内容
-------------------------------------------------
#!/bin/sh

# バックアップの保存期間(days)
period=30

# バックアップ保存用ディレクトリの指定
dirpath='/var/backup_sql'

# MySQLrootパスワード
ROOTPASS=xxxxxxxx

# ファイル名を指定する(※ファイル名で日付がわかるようにしておきます)
filename=`date +%y%m%d`

# 指定したDBのスキーマおよびデータをすべて吐き出す ファイル名接頭辞はあれば
mysqldump -u root --password=パスワード データベース名 テーブル名 > $dirpath/ファイル名接頭辞_$filename.sql

# パーミッション変更
chmod 700 $dirpath/ファイル名接頭辞_$filename.sql

# 保存期間を過ぎたバックアップを削除
oldfile=`date --date "$period days ago" +%y%m%d`
rm -f $dirpath/ファイル名接頭辞_$oldfile.sql
-------------------------------------------------