Centos7 で crontab + シェル スクリプトによる定期的な自動ファイル削除の問題を解決する

Centos7 で crontab + シェル スクリプトによる定期的な自動ファイル削除の問題を解決する

問題の説明:

最近、rsyncで毎回同期するデータ量が多いが、データベースのbakファイルを保持する必要があるという要望がある。

7日間保存するだけで十分なので、フォルダ内のbakファイルを自動的にクリーンアップする必要があります。

解決:

シェルスクリプトを使用してフォルダー内のタスクを定期的に削除する

1. シェルファイルを作成する

[root@zabbix スクリプト]# vim backup_sql_clean.sh
#!/bin/sh
/data1/backup/KDKDA\$AGKDPAYKT/XNAKSD/FXUIJ -mtime +10 -name "*.bak" -exec rm -rf {} \; を検索します。

パラメータの説明:

/data1/backup/KDKDA\$AGKDPAYKT/XNAKSD/FXUIJ #これはファイルパスです

-mtime +10 #これは保持する日数です。10は10日間を意味します

-name "*.bak" #これは削除するファイルの名前です。ここにサフィックスを追加すると、このタイプのファイルが削除されます

その他はLinuxコマンド

2. シェルファイルの権限を設定する

[root@zabbix スクリプト]# chown 777 backup_sql_clean.sh

3. crontabの定期実行を設定する

crontabコマンドは、定期的に実行される命令を設定するために使用されます。

Crontab 関連コマンドの説明: https://www.jb51.net/article/151069.htm

[root@zabbix /]# crontab -e
0 0 * * 7 /data/script/backup_sql_clean.sh

4. crondプロセスを開始する

crond の概念は crontab と切り離せません。 Crontab は、Unix および Unix 系オペレーティング システムでよく使用されるコマンドで、定期的に実行される命令を設定するために使用されます。

このコマンドは、標準入力デバイスから命令を読み取り、後で読み取って実行できるように「crontab」ファイルに保存します。そして、crond はそのデーモンです。

[root@zabbix /]# systemctl status crond.service #crond ステータスを表示 [root@zabbix /]# systemctl start crond.service #crond サービスを開始 [root@zabbix /]# systemctl restart crond.service #crond サービスを再起動

補充する;

CentOS7でのファイル削除スケジュールの紹介です

1. Linuxシステムに入る

2. 任意のディレクトリに、次のように sh というサフィックスを持つファイルを作成します。

3. 図に示すように、ファイルを編集して開きます。

4. キーボードの「i」キーまたは「insert」キーを押して編集モードに入ります。

入力:

#!/bin/sh
/data/iqmkj/backup/mysql を見つけます -mtime +7 -name "*.sql" -exec rm -rf {} \;

図に示すように:

例:

"/data/iqmkj/backup/mysql": 削除するファイルが保存されているディレクトリ。
「+7」: ファイルを保持する日数。つまり、数日以上経過したファイルは削除されます。
「*.sql」: 拡張子が .sql のファイルを削除します。
その他は固定文字です。

5: 編集したファイルを保存する

キーボードの「esc」キーを押して、現在のウィンドウに「:wq」と入力します。ファイルは正常に保存され、自動的にメイン インターフェイスに戻ります。

6. ファイルを承認する

入力:

chown 777 バックアップ_mysql.sh

認証に失敗した場合は、ファイルを直接選択し、右クリックして権限をすべてチェックするか、「777」に設定してください。

7: Centos7のスケジュールされたタスクを使用してタイマーを作成する

メイン インターフェイスに「crontab -e」と入力して、スケジュールされたタスク編集インターフェイスに入ります。

8. スケジュールされたタスクを設定する

「0 4 * * * /data/iqmkj/backup/mysql/backup_mysql_clean.sh」を挿入します。
例:
ファイル パスは、2 番目の手順で作成されたファイル パスです。

9. スケジュールされたタスクの設定を保存する

キーボードの「esc」キーを押して、現在のウィンドウに「:wq」と入力します。ファイルは正常に保存され、自動的にメイン インターフェイスに戻ります。

10. タイマーを開始する

メイン インターフェイスに「/bin/systemctl start crond.service」と入力します。これですべての設定が完了しました。

例:

スケジュールされたタスクを開始します: /bin/systemctl start crond.service
スケジュールされたタスクを停止します: /bin/systemctl stop crond.service
スケジュールされたタスクを再起動します: /bin/systemctl restart crond.service
スケジュールされたタスクのステータスを確認します: /bin/systemctl status crond.service

要約する

上記は、Centos7 で crontab + シェル スクリプトを使用して定期的にファイルを自動的に削除する問題を解決する方法について紹介したものです。お役に立てば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • CentOS7 で Jenkins+Maven+Git 継続的インテグレーション環境を構築する方法
  • Win10にCentOS7仮想マシンをインストールする
  • CentOS7仮想マシンで固定IPアドレスを設定する方法
  • Centos7 に Nginx 統合 Lua サンプル コードをインストール
  • CentOS7.6 システムで yum を使用して lnmp 環境を構成する方法
  • CentOS7.3 での MySQL 8.0.13 のインストールと設定のチュートリアル
  • Centos7 での Rsync+crontab 定期同期バックアップ
  • Centos7 に php7 をコンパイルしてインストールし、php-fpm モードで Apache に接続する
  • Centos7 に mysql 8.0.13 (rpm) をインストールする詳細なチュートリアル
  • Centos7のホスト名を変更する3つの方法

<<:  Vue ターンテーブル抽選の簡単な実装

>>:  mysql5.7.18 解凍バージョンで mysql サービスを起動します

推薦する

理論: 2年間のユーザーエクスペリエンス

<br />国内のウェブサイトが本格的に普及し、ユーザーエクスペリエンスに重点が置かれる...

DockerにTomcatコンテナを追加したときにホームページにアクセスできない問題の解決方法

質問docker run コマンドを使用して、tomcat コンテナが正常に追加されました。ポートも...

MySQL で中国語の文字をピンインでソートする簡単な例

名前を格納するフィールドが GBK 文字セットを使用している場合、GBK 内部コード自体がエンコード...

VirtualBox+Ubuntu16でKubernetesクラスタを構築する実装

目次Kubernetesについて基本的な環境の準備VirtualBoxをインストールするUbuntu...

MySQL の重要なパフォーマンス インデックスの計算と最適化方法の概要

1 QPS 計算 (1 秒あたりのクエリ数) MyISAMエンジンベースのDBの場合 MySQL&g...

現在のMySQL接続数を表示する方法の詳細な説明

1. 現在のすべての接続の詳細情報を表示します。 ./mysqladmin -uadmin -p -...

MySQL 8.0.16 Win10 zip バージョンのインストールと設定のグラフィック チュートリアル

この記事では、MySQL 8.0.16 Win10 zip版のインストールと設定のグラフィックチュー...

Linux で MySQL をインストールする簡単な方法

Linux に MySQL をインストールする方法をオンラインで検索すると、多くの方法が表示されまし...

HTML で色を表すには、6 桁の 16 進コード、RGB、またはキーワードを使用します。

HTML で色を表す方法は 3 つありますが、最もよく使われるのは 6 桁の 16 進コード表現です...

mysql5.7.18のインストールと初期パスワードの変更方法

CentosでのMySQLのインストールについては、以前の記事を参照してください。 Centos7....

MySQL ビューの紹介と基本操作のチュートリアル

序文ビューは、データベース システム内で非常に便利なデータベース オブジェクトです。 MySQL 5...

純粋な CSS3 でモバイルの拡大と縮小の効果を実装するためのサンプル コード

この記事では、純粋な CSS3 を使用してモバイル端末での展開と折りたたみの効果を実装するサンプルコ...

フレックスレイアウトは左のテキストオーバーフローを実現し、右のテキストの適応を省略します

テキストの長さに応じて、左側のテキストの幅を自動調整できる状況を実現したい。1行が表示できない場合、...

MySQL データ定義言語 DDL の基本ステートメント

MySQL DDL ステートメントDDL、DMLとは何ですか。 DDL はデータ定義言語であり、CR...