バックアップサーバー

これは多くの場合、タスクですが、非常に簡単に行われます!

続行:

1)筋肉のバックアップ

これを行うには、非常に優れたユーティリティ「mysqldump」があります。これは筋肉の一部です。 (lamppを使用する場合、「/ opt / lampp / bin / mysqldump」にあります)

一般に、コンソールに次のものを挿入します。
mysqldump –all-databases > /mysql.12.12.2008.dump


このコマンドは、すべてのデータベースをルートの「mysql.12.12.2008.dump」ファイルにバックアップします! 実際に便利な方法を書いてください! rootでない場合は、 –user username –password passwordを使用してユーザー名/パスワードを指定する必要があります

データベースのサイズがまともな場合、準備を整えてください。非常に時間がかかります。

データベースのいずれかにエラーがある場合、チップは動作しない可能性があります...

ちなみに、すべてのデータベースをバックアップするのではなく、少し友好的に問題にアプローチできますが、それぞれ個別にエラーが発生した場合は、次のように実行されます。

databases=”$(mysql -Bse 'show databases')”

for db in $databases
do
mysqldump $db > $db.sql
done


2)バックアップファイル

ここではすべてがよりシンプルで、次のようにファイルをアーカイブするだけで十分です。

tar -czf some.tar.gz -C /home some


ただし、各サイトのフォルダーを個別のアーカイブにパックする方がはるかに便利です。したがって、

names=`dir /home`
for i in $names
do
tar -czf $i.tar.gz -C /home $i
done


最後に、次のスクリプトを入手しました。
#!/bin/bash

date=`date +%d.%m.%Y_%H-%M`

mkdir /home/BACKUPS/$date
mkdir /home/BACKUPS/$date/DB
mkdir /home/BACKUPS/$date/DATA

databases=”$(mysql -Bse 'show databases')”

for db in $databases
do
if [ "$db" != "" ];
then
echo '——————'
echo 'START DUMPING “'$db'” DATABASE'
mysqldump $db > /home/BACKUPS/$date/DB/$db.sql
echo 'DB “'$db'” WAS SUCCESSFULLY DUMPED'
fi
done

names=`dir /home`
for name in $names
do
if [ "$name" != "BACKUPS" -a "$name" != "" ];
then
echo '——————'
echo 'START ARCHIVE “'$name'” FOLDER'
tar -czf /home/BACKUPS/$date/DATA/$name.tar.gz -C /home $name
echo 'FOLDER “'$name'” WAS SUCCESSFULLY ARCHIVED'
fi
done

すべてのデータベースとサイトファイルは/ home / BACKUPS /現在の日付と時刻/ダンプのDBおよび/ home / BACKUPS /現在の日付/アーカイブのDATAにバックアップされます

Source: https://habr.com/ru/post/J47191/


All Articles