## I.はじめに
1は、cron
あるLinux
ジョブが手動の介入を必要とせずに実行することができ、定期的な実行ツール。ではubuntu server
次回、cron
それはデフォルトでインストールされ、デフォルトのインストールディレクトリを開始しています。/etc/crontab
2、定期的なタスクを達成するためには、まず理解する必要がありcron
、様々なコマンドをcron
起動して、ストップサービス
1、サービスが開始/ cronのサービス開始 /
2、クーロンSTOP-サービス/ サービスオフ /
3、クーロンを再始動サービス/ 再起動サービス /
4、クーロンリロード・サービス/ 構成を再ロード /
3は、以下のコマンドで見ることができcron
、(あなたが実行している場合、それはプロセスIDを返す)が実行されて
pgrep cron
示されているよう:
4、crontab
理解コマンド
crontab
コマンドをインストールするために使用され、削除またはリストの駆動cron
バックグラウンドプロセスフォーム。言い換えれば、ユーザーはに一連のコマンドを実行する必要があるcrontab
各ユーザーが自分の持っていることができ、実行を得るために、ファイルcrontab
のファイルを。以下は、このコマンドのパラメータと説明の一部を以下に示します。
1、crontabの-u / 設定されたユーザのcronサービス /
2、のcrontab -l / 詳細に記載ユーザのcronサービスの内容 /
3、のcrontab -r / 削除ユーザのcronサービス /
4、のcrontab - E / 編集、ユーザのcronサービス /
5、意味パラメータ名
-lディスプレイは、ユーザーのCrontab
コンテンツファイルcrontabl –l
のユーザーの削除-i Crontab
前のファイルが促しますcrontabl -ri
-r Crontab
クローンタブ、ユーザーのファイルのディレクトリを削除crontabl -r
、編集、ユーザーのに-e Crontab
ファイルcrontabl -e
/etc/crontab
以下のようにファイルの構文は次のとおりです。
Minute
Hour
Day
Month
Dayofweek
command
dayコマンドあたりの分時間日週月
次のような意味と、各フィールドの範囲は次のとおり
Minute
:このタスク実行する各時間の最初の数分で表される分(0-59)
Hour
:H(1-23)は、一日あたり数時間このタスクを実行表します
Day
。日付(1-31)、数日のタスクを実行するために、毎月の最初
Month
:月(1-12)、各年の最初の数ヶ月は、このタスクを実行すること
DayOfWeek
:週(0-6、日曜日は0)、週を表し最初の数日間は、このタスクを実行するために
Command
、私は書き込みコマンドを呼び出すために覚えているときに、ここに直接、その上でスクリプトを呼び出し、スクリプト内部でこれらのコマンドを置くことができ、コマンドはあまりにも実行する場合(実行するコマンドを指定します。フルパス)
これらの分野では、「コマンド」に加えて、毎回指定したフィールド必見です、他のフィールドは必要な決定として、すべてのオプションのフィールドです。指定されていないフィールドの場合、その位置を埋めるために「*」を使用します。同時に、cron
次のように定義されたいくつかの特殊記号をサポートするために、書き込みに似た正規表現のためのサポート:
“*” ,代表所有的取值范围内的数字;
“/” , 代表”每”(“*/5”,表示每5个单位);
“-” , 代表从某个数字到某个数字(“1-4”,表示1-4个单位);
“,” ,分开几个离散的数字;
たとえば、次のように:
5 * * * * ls /*指定每小时的第5分钟执行一次ls命令*/
30 5 * * * ls /*指定每天的 5:30 执行ls命令*/
30 7 8 * * ls /*指定每月8号的7:30分执行ls命令*/
50 7 * * * root run-parts /etc/cron.daily /*每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件*/
##第二に、テスト、スケジュールされたタスクを作成:「!helloword」毎分のファイルを書き込むための
1、システムのルートディレクトリを入力しますcd /tmp
、ピットイン:touch cron_log.txt
実行はcrontab -e
、最も下に次のコードを記述します。
* * * * * echo "Hello world!" >> /tmp/cron_log.txt
各ユーザにタスクのタイミングは以降2は、/var/spool/cron/crontabs
ユーザ名を有し、したがって、割り当てファイル・ディレクトリと一致して、缶vim
を直接編集する:vim /var/spool/cron/crontabs/root
#注:root
現在のユーザー名
コードと同じファイル内の最後の行が挿入されています。
* * * * * echo "Hello world!" >> /tmp/cron_log.txt
保存して終了し、再起動してcron
サービスを:
service cron start
ビューへのFZソフトウェアによって、ちょっと待って/tmp/cron_log.txt
、「こんにちは、世界!」分ごとに出力したら
最後に、サービスを閉じます。service cron stop
##第三に、定期的なバックアップデータベースを達成するために
1、書いて最初sh
のファイルにスクリプトタスク、データベースの定期的なバックアップを、次のコマンドを実行します。
cd /home/ubuntu
mkdir data_backup
vim mysqlbackup.sh
以下のコードを書きます:
#!/bin/bash
date_str=$(date +%Y%m%d-%T)
cd /home/ubuntu/data_backup
mysqldump -h 127.0.0.1 -u root --password=canon4ever -R -E -e wechat > /home/ubuntu/data_backup/$date_str.sql
保存して終了:wq
。
2、どこスクリプトファイルの権限の下でスクリプトは、次のコマンドのフォルダを入力します。
chmod +x mysqlbackup.sh
次のように3は、フォルダ内のバックアップスクリプトの成功をテストするには、コマンドは次のとおりです。
./mysqlbackup.sh
テスト:ルックdata_backup
成功したバックアップは、次の定期的な実装ファイルを作成する場合、バックアップファイルがあるかどうかで。
成功した後、バックアップファイルを削除します。
2、設定スクリプトは、自動化し、任意のディレクトリを実行するためにcrontab -e
、最も下に次のコードを追加します。
* * * * * sh /home/ubuntu/data_backup/mysqlbackup.sh #每分钟执行一次数据库备份,时间可根据实际需求设置
3、サービスを再起動します
service cron restart
参照するには4、/home/ubuntu/data_backup
図:1分間に1回のバックアップごとに実行されません
最後に、あなたがサービスを停止することができます。
私たちは完了です。!!なぜならする必要はありませんでしたrm -rf
Paoluそれ!!