story of my life
過去の蓄積を見るために書く日記.
さくらレンタルサーバーデータベースをフルバックアップするコード
文字数[2388文字] この記事は3分59秒で読めます.
おはようございます.アバターは月曜日か火曜日に観に行くつもりでいますがどうなるかは未定です.本日はさくらレンタルサーバーデータベースをごっそり定期的にフルバックアップするコードを作成したのでその話を書いていきます.このコードはwwwよりも上に出さないで下さい.そこだけが重要なところです、また使用にあたってご自身の環境に合わしてユーザーやパスワードなどを変更して下さい.
因みにこれをクロンやコマンドラインからしか実行出来ないので、定期的にバックアップしたい方はクロンの設定が必要になります.
これらを注意実行とします.あとエラーが出た時に出力するようにしていますが不要な場合は削除またはコメントにして頂いて結構です、そして可変などもご自由にしてください.
追伸:本日、国家試験を受けに行きます、試験結果に関しては時が過ぎたころに書いていくと思います.試験は10時から高知県の県庁前辺りで行われます.たぶん終わるのは12時頃だと思います…
<?php
class SqlBackup
{
private $user = 'user';
private $pass = 'pass';
private $host = 'mysqlXXX.user.sakura.ne.jp';
private $root = '/home/user/MySqlFullBackup/';//バックアップの置き場所:絶対パス
private $dblist = [
"wp_db",
];
public function fullBackup(string|null $dir=null)
{
$dir = $dir??$this->root;
if (!is_dir($dir)) {
return $this;
}
try {
foreach ($this->dblist as $dbname) {
exec('mysqldump -u ' . $this->user . ' -p' . $this->pass . ' -h ' . $this->host . ' --single-transaction --no-tablespaces ' . $dbname . ' > ' . $dir . date('Y-m-d-H-i_') . $dbname . '.sql 2>/dev/null');
}
} catch (\Throwable $th) {
file_put_contents('bug.txt', $th->getMessage());
}
return $this;
}
function deleteOldFiles(string|null $dir=null, int $days = 7)
{
$dir = $dir??$this->root;
if (!is_dir($dir)) {
return $this;
}
$deletedCount = 0;
$limitTime = time() - ($days * 24 * 60 * 60);
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator(
$dir,
FilesystemIterator::SKIP_DOTS
)
);
foreach ($iterator as $file) {
/** @var SplFileInfo $file */
if ($file->isFile()) {
// ファイルの更新日時を取得
if ($file->getMTime() < $limitTime) {
if (@unlink($file->getPathname())) {
$deletedCount++;
}
}
}
}
//echo $deletedCount;
return $this;
}
}
if ($argv[0]) {
(new SqlBackup)->fullBackup()->deleteOldFiles();
}明日へ続く
3601番目の投稿です/44 回表示されています.
中の人🏠️
AIによるおすすめ記事
著者名
@taoka_toshiaki
※この記事は著者が40代後半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
www, アップ, あと, アバター, エラー, クロン, コード, コマンド, コメント, これ, これら, ころ, さくら, そこ, つもり, ところ, パスワード, バックアップ, フルバック, ユーザー, よう, ライン, レンタルサーバーデータベース, 不要, 作成, 使用, 出力, 削除, 可変, 国家, 場合, 変更, 定期, 実行, 必要, 明日, 月曜日, 未定, 本日, 注意, 火曜日, 環境, 県庁, 結果, 結構, 自由, 自身, 設定, 試験, 辺り, 追伸, 重要, 高知,

コメントを残す