CentOS

  
でWebサイトやデータベースを自動的にバックアップするためのスクリプトCentOSに連絡してから数ヶ月が経ちましたが、Linuxコマンドラインインターフェースに初めて触れるときは、長い間使用されてきたWindowsは本当に少し不快です。それは皆の文章でなければなりません、linuxとの接触が長ければ長いほど、彼女の単純さと効率をより助長します、私はサーバーにインストールされたオペレーティングシステムがCentOS5.4であり、サイトとデータベースアプリケーションにデプロイされます基本的なフレームワーク:centos + nginx + mysql + php、しかし大量のウェブサイトデータのため、手動でバックアップするのは時間がかかりすぎるので、毎週指定された時間にウェブサイトのコンテンツとデータベースをバックアップするために自動実行スクリプトを実行する予定です。内容は、tarでパッケージ化されてから他のftpサーバーに渡され、バックアッププロセス全体が完了しました。

このサーバのWebサイトディレクトリが/home /www、データベースプログラムのパスが/usr /local /mysql /bin、データベース名が:levil、ftpサーバがftphostであるとします。完全自動バックアップスクリプト(自動バックアップスクリプトの保存場所:/home/backup.sh):

#!/bin /bash cd /home WebBakName = web _ $(日付+%y%m%d) .tar.gz tar zcvf $ WebBakName www SqlBakName = sql _ $(日付+%y%m%d).tar.gz /usr /local /mysql /bin /mysqldump -uusername -ppassword levil> backup.sql tar zcvf $ SqlBakName Backup.sql ftp -nv ftphost<< EOFユーザーftpname ftppass put $ SqlBakName put EOF rm -f backup.sql $ WebBakName $ SqlBakName

全員に説明しましょう:ホームディレクトリ、Webサイトのバックアップのファイル名にWebBakName変数を定義し、ファイル名の形式をweb_date.tar.gz、データベースのバックアップのファイル名にSqlBakName変数を定義し、ファイル名の形式をsql_date.tar.gzにし、Webサイト全体を置きます。ディレクトリwwwをWebBakNameファイル名にパッケージ化し、mysqldumpを使用して指定されたデータベースの内容をbackup.sqlにエクスポートします。十分なリモートFTPスペースがない場合は、バックアップファイルを直接マシンにダウンロードできますが、それでも別のサーバーに直接バックアップすることをお勧めします。 ftp領域では、バックアップを完全に自動化するために、スクリプト内のftphost、ftpname、およびftppassを自分のftp情報に置き換える必要があります。これで、バックアッププロセス全体が完了します。

次に、chmod + x backup.shと入力してスクリプトに実行権限を追加し、crontab -eと入力してタスクを自動的に開始時刻に変更します。たとえば、次のように入力します。00 05 * * 1 /home/backup.sh自動バックアップ操作は、1週目の午前5時に実行されます。

この作業が終わったら、自動バックアップスクリプトが正しく機能しているかどうかを確認するために、自動タスク時間を現在の近接時間に変更することができます。もちろん、データが頻繁に更新される場合は、自動バックアップ時間を毎日に調整することをお勧めします。

Copyright © Windowsの知識 All Rights Reserved