Ubuntuのは、オンラインバックアップデータベースのタイミングを達成します

## 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 -rfPaoluそれ!

公開された14元の記事 ウォンの賞賛1 ビュー90

おすすめ

転載: blog.csdn.net/huangdj321/article/details/104929550