LinuxWebminから時間ベースのパスへのMySQLバックアップを実行します

2012年08月15日に質問されました。  ·  閲覧回数 11.2k回  ·  ソース

Ammar picture
2012年08月15日

Linux Ubuntu Server 12.04(CronJob)でスケジュールされたタスクをセットアップして、すべてのMySQLデータベースの毎日のバックアップを深夜に実行しようとしていました。

既知のWebmin (Webサーバーを管理するための優れたWebインターフェイス)をインストールしました。

だから私の問題は、バックアップが実行されているときはいつでも、ファイルが上書きされているということです!

つまり、昨日のバックアップは失われ、「昨日」のバックアップのみが保存されます。

私は次のような動的ファイルパスを設定するようなことを試みました:

/ var / www / mysqlbackups /%d-%m-%y

しかし、私はそれで成功しませんでした:(

誰かが私を助けることができますか?

たくさんの人に感謝します。

回答

Mr Vector picture
2014年01月21日
15

MySQLデータベースサーバー>モジュール構成>「バックアップ先のstrftime置換を実行しますか?」で「はい」を選択します。

それは私のために働きます! :)

Loshon picture
2013年01月12日
11

動的パスを使用できますが、モジュール構成で有効にする前に、次のようにします。

System > Filesystem Backup > Module Config > Do strftime substitution of backup destinations? > Yes

(プレースホルダーがわからない場合は、構成の「バックアップ先のstrftime置換を実行しますか?」というテキストをクリックするだけで、ヘルプが表示されます。)

Христијан С. picture
2013年03月14日
7

私は同じ問題を抱えていて、このように解決しました:

サーバーからMySQLデータベースサーバーを選択しますモジュール構成(左上)に移動し、[バックアップ先のstrftime置換を実行しますか?]を選択はいに

バックアップにはdb_%d-%m-%Y.sql形式を使用します。 (db_13-03-2013.sql)

Roger picture
2012年08月15日
2

シェルスクリプトを作成しました(webmin用ではありません)。 /etc/cron.dailyに入れてください。

スクリプトはデータベースのバックアップを作成し(.gzとして保存)、sshで別のサーバーにアップロードします。 認証用。 sshキーを設定するので、パスワードは必要ありません。 バックアップファイルには一意の名前が付いているため、バックアップファイルを上書きすることはありません。

スクリプト内でファイル名を作成する方法は次のとおりです。

now=`date  +%Y%m%d_%H%M`
dst_path=/var/local/backups
filename="$dst_path/$database.$now.sql.gz"

次に、x日より古いすべてのバックアップファイルを削除する小さなスクリプトを作成する必要があります。

#!/bin/sh

#
# Creates a backup of a MySQL databases and uses ssh (sFTP) to send if  to another server
# This script shouldbe called from the crontab

PATH=/usr/sbin:/usr/bin:/sbin:/bin

# MySQL user and password
mysql_cmd=/opt/bitnami/mysql/bin/mysqldump
mysql_usr=user_name
mysql_pass=password

# destination ssh
dst_user=user_name
dst_hostname=192.168.1.1

# Database to backup
database=test

# create timestamp
now=`date  +%Y%m%d_%H%M`

# where we store the files
dst_path=/var/local/backups

# backup filename
filename="$dst_path/$database.$now.sql.gz"
dst_filename="$database.$now.sql.gz"

# run backup
$mysql_cmd -u $mysql_usr --password=$mysql_pass  $database | gzip > $filename

# upload to sever (ssh)
scp $filename [email protected]$dst_hostname:
karan picture
2019年09月25日
0

あなたは次の方法でそれを行うことができます

Webmin> MySQLデータベースサーバー>データベースの選択>バックアップデータベース>使用できる他のバックアップオプションのファイルパス>バックアップ後に実行するコマンドEnter ======> mvファイルパス/ファイル名ファイルパス/ファイル名_ date +"%Y%m%d%H%M%S" .sql