web-dev-qa-db-ja.com

phpmyadminを使用してデータベースのバックアップを自動化する方法

現在、phpmyadmin exportをSQLダンプとして使用してデータベースのバックアップを手動で取得していますが、結果のファイル名はspbkYYMMDD(Y; year m:month D:day)になります。データベースのバックアップを自動化して、定期的にSQLダンプを取得する方法はありますか。間隔とファイル名はそれに応じて自動的に生成されます。ロジックを説明していただけますか。

11
n92

UNIXシェルでcrontabを実行し、データベースバックアップを作成するプロセスを起動するルールを作成します

 0 0 * * * /usr/local/bin/mysqldump -uLOGIN -PPORT -hHOST -pPASS DBNAME | gzip -c > `date “+\%Y-\%m-\%d”`.gz

this も確認してください

[〜#〜]編集[〜#〜]

あなたが書く必要があるだけのウェブインターフェース、あなたがそのための既製のコードを見つけることができるとは思わないでください。ただし、UNIXマシンで定期的に実行される関数を自動化するには、cronジョブを使用する必要があります。 cronジョブの記述方法の詳細については ここ を参照してください。これで、ユーザーからデータを取得し、入力に応じてルールを変更するWebインターフェイスを作成する必要があります(自分で実行できると思います)

8
Balanivash

コードは次のようになります:

    @echo off
    for /f "tokens=1" %%i in ('date /t') do set DATE_DOW=%%i
    for /f "tokens=2" %%i in ('date /t') do set DATE_DAY=%%i
    for /f %%i in ('echo %date_day:/=-%') do set DATE_DAY=%%i
    for /f %%i in ('time /t') do set DATE_TIME=%%i
    for /f %%i in ('echo %date_time::=-%') do set DATE_TIME=%%i
    "j:\xamppp\bin\mysqldump" -u root -p  --all-databases>j:\backupmysql\%DATE_DAY%_%DATE_TIME%_database.sql

.batとして保存すると、タスクスケジューラから実行できます。

1
Zaman

mysqldumpのコンソールにアクセスできなかったため、自分で必要としたため、この正確なユースケースの簡単なスクリプトを作成しました。

ダウンロード:Github:phpmyadmin_sql_backup.py

あなたの場合の使用法:

./phpmyadmin_sql_backup.py "https://www.example.com/phpmyadmin_login_page" USERNAME PASSWORD --basename "" --prepend-date --prefix-format "spbk%y%m%d" --overwrite-existing -o OUTPUT_DIRECTORY

うまくいけば、それは他の人にとって有用であることが証明されます。

1
phoibos

MySQL DBバックアップを自動化する最良の方法は、いくつかのバックアップソフトウェアをphpmyadminユーティリティと組み合わせて使用​​することです。 2番目の方法は、多くの場合、追加の支払いがないという利点と制御されていないセキュリティの欠点があり、cronを使用してスクリプトを実装することです。

個人的には、phpMyAdminに加えてHandyBackupが好きです。例として 記事へのリンク を参照してください。これは最もホットなバックアップソリューションではありませんが、比較的安価で非常に安定しています。

1
Mark Geek