sql >> データベース >  >> RDS >> Database

WHMのデータベースのみのバックアップ

    一部のクライアントから、WHMでデータベースバックアップのみを設定できるかどうか尋ねられました。一部の人にとっては奇妙に聞こえるかもしれませんが、そのような機能を望んでいるユーザーもいます。

    WHMバックアップ設定には、WHM->バックアップ->バックアップ構成からアクセスできます。 。残念ながら、現時点では、ユーザーのデータベースのみをバックアップするオプションはありません。

    更新:2020年4月20日の時点で、このcPanelリクエストは「オープンディスカッション」ステータスになっています。 cPanel機能リクエストサイトでコメントして投票できます

    どのような解決策がありますか? bashコマンドを使用できます。サーバー上のすべてのデータベースを.gzアーカイブにバックアップする1つのコマンドは次のとおりです。

    root@www [/backup]# mysqldump --all-databases | gzip > /backup/$(date +%Y-%h-%d)-alldatabases.sql.gz

    これにより、サーバー上のすべてのMySQL/MariaDBデータベースでバックアップが作成されます。ファイル名には現在の日付が含まれます。 (例:2018-Sep-25-alldatabases.sql.gz)必要に応じてコマンドを変更できます。 cronジョブを作成して、特定の時間に実行することもできます。

    もう1つの可能性は、サーバー上の各データベースを個別にバックアップすることです。このために、 backupdbs.shのような新しいファイルを作成します ファイルの内容は次のとおりです。

    #!/bin/bash
    
    mysql=/usr/bin/mysql
    mysqldump=/usr/bin/mysqldump
    date=$(date +%Y-%h-%d)
    
    backupdir="/backup"
    mkdir -p $backupdir/$date
    
    databases=`$mysql -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema)"`
    for db in $databases; do
    echo $db
    $mysqldump --opt --databases $db | gzip > "$backupdir/$date/$db.sql.gz"
    done

    スクリプトを実行するには:

    root@www [/backup]# perl backupdbs.sh

    前の場合と同様に、必要に応じてスクリプトを調整し、cronジョブを作成することもできます。


    1. 地理的に分散したMariaDBクラスターを設計する方法

    2. varcharsql開発者から先行ゼロを削除する

    3. MySQLでの文字列の連結

    4. SSISのスクリプトタスクから実行すると、Oracleプロシージャが結果を返さない