windows11を初期化した話。バックアップ失敗?

2023.06.17

Logging

おはようございます。前々から初期化しようと思っていた、メインのパソコンを初期化しました。これは先日の話になります。

初期化は比較的にすんなりと出来たのですが、Dockerのimageデータが読み込めないという問題が発生しました。バックアップを取る際にMacなどのOS用のコマンドを使用してバックアップを取っていたのが問題でした。

docker save ubuntu -o ubuntuv.tar
docker load -i ubuntuv.tar
docker save ubuntu > ubuntuv.tar
docker load < ubuntuv.tar

上記のことを知らずにリナックス用のバックアップコマンドで行い、load確認をせずに初期化を強行してしまったのが間違いでした。結果、データは残っていたので再度、DockerComposeからコンテナを立ち上げ直し、なんとか対応出来ましたが心臓に悪いなって感じましたね。

タグ

docker, docker save ubuntu, DockerCompose, gt, i ubuntuv, imageデータ, load確認, lt, Mac, tar, ubuntuv.tar, ubuntuv.tar docker load, コマンド, こんてな, バックアップ, バックアップコマンド, リナックス用, 再度, 前々, 心臓,

NASと書いてナスと呼ぶ、お茄子のナスではありません。

2021.08.11

Logging

台風9が通り過ぎてから、なんだか暑さの中に涼しさを感じるようになりました、朝方とか結構涼しいなと感じますが日中はまだまだ暑い日が続きます。

さてお休みの日にYOUTUBEのオススメに出てきた、「NASを取り付けてみたら快適になった」とかいう動画を二本ほど立て続けに見ました。これをエンジニア目線で見ると古くなったPCにリナックスを入れてNAS化するので良いじゃんとは思ったものの、外からアクセスしたいなと思った時はセキュリティーによほど、自信がないと駄目だなと感じます。

10TBのNASを構築して、自分専用の大容量クラウドストレージを作る|Synology DS 220+

そう思うと市販のNASが良さげに感じますよね。ただ自分はグーグルのバックアップで良いじゃないのと思っているし、ソースコードはgithubなので十分ですよねと思ってます。容量の多い動画を取り扱っているわけでもないので欲しいなという気持ちはあるものの、ここは心を鬼にしてポチるのを辞めました。

【NAS構築】グーグルクラウドの改悪がキツいので14TBのNASを構築&メモリ増設|QNAP TS-251D

いま、ポチりたいのはCドライブを取っ替えたいという事だけです、まだ不安定なSSDを使用しております。

因みにNASってなんだよってのは、動画を見て頂けたら分かると思いますが簡単に説明するとファイルなどの保管庫(バックアップ)です、もしもパソコンのHDDが壊れたりした時にバックアップとして機能するものです。クラウドにファイルなどを預けることがなかった時代は耐久性が今より悪かったので、RAID技術などを使って自宅のPCの守っていたものですが、今はそういう事をする人は少なくなっていると思います。

尚、サーバーやクラウドではRAID技術は今でも使用されております。特に金融機関はそういう技術は強固に作られています、データが消えたら大変なことになりますからね。

タグ

, com, github, https, NAS, PC, www, youtube, アクセス, エンジニア, おすすめ, お休み, グーグル, コード, ここ, これ, セキュリティー, ソース, ナス, バックアップ, ぽち, リナックス, わけ, , , 動画, 台風, , 容量, 市販, , 快適, , 日中, , 朝方, 気持ち, 目線, 立て続け, 自信, 自分, 茄子, 駄目, ,

サーバー引っ越して突貫工事。

2020.09.29

Logging

昨日、サーバー引っ越しして突貫工事を行っていました。ことの成り行きを説明するとサーバー移行しようとしてミスってしまった…。画像データのバックアップを取るのを忘れて、サーバーを消しちゃって『あぁ』ってへたってました。数時間、もうこのサイトを消そうかなとか思ったのですが今まで蓄積した、どうしようもないデータ量を無駄にするのは惜しいと思い、数時間後にテキストデータだけさくらレンタルサーバーに移行しました。

今までは別のVPSで動かしていたのですが、なんだかもったいなという気持ちが芽生えてきて元のさくらレンタルサーバーに移行しました。じぶんは結構、サーバーの移行を行います。これは計画的な移行というのはほぼ無くほぼ衝動的なサーバー移行が多いです。なので何の前触れもなくサイトが数時間見えなくなったり、見えづらい状態になったりということが数年間に何回かあります。

本当はもっと良いサーバーを借りたいものですが、収益とサーバー代がとんとんな状態なので、いまは良いサーバーを借りていません。

因みに自分がオススメするレンタルサーバーはXサーバーがしているwpxやかごやサーバーです。wpxは初心者でも簡単にワードプレスが構築できてそれでいて表示も高速です。かごやサーバーは高速化処理などは自分で試行錯誤しなければならないのですが、サービスのなかに回線速度を上げることが出来るオプションがあるので、そちらを使用すると大体のワードプレスは爆速化します。

まぁそんなですが自分はさくらレンタルサーバーでゴニョゴニョするのが好きかな。結構、ゴニョゴニョ細工出来ますよね。

タグ

VPS, いま, こと, これ, , サーバー, サイト, さくら, じぶん, データ, テキスト, とんとん, バックアップ, ミス, レンタル, , 何回か, , , 前触れ, 収益, 工事, 引っ越し, , 昨日, 本当, 気持ち, 無駄, 状態, 画像, 移行, 突貫, 蓄積, 説明,

さくらレンタルサーバーでWordPressのDBバックアップを支援するPHPコード

2020.01.10

Logging

さくらレンタルサーバーでWordPressバックアップを支援するPHPコードです。

駆け出しのWEB担当者用のプログラムです、動作環境はPHP5.6以上でお願いします。バックアップする際にWARNINGが発生してしまうには対応しておりません。メールが貯まりますが大丈夫ですよ、きっと。

プログラムを読めば何を書いているのか、駆け出しのWEB担当者様もわかるとは思いますが、変更してほしいのはIDとPASS部分です?。ルートにWordPressをインストールしていない場合は $wploadfile の変更もお願いします。

ファイルをアップロードした階層に dbbackup名でフォルダを設置しそのフォルダにベーシック認証をかけておいてください。外部からダウンロードが容易に出来るので・・・。

上記の設定が完了したらファイルをアップロードし sakura-rental-wpdb-backupfullにアクセスしてください。
ログイン後、管理画面より設定を行った後、さくらレンタルサーバーのコントロールパネルよりCRONの設定を行ってください。

ダウンロードはこちらから
https://zip358.com/tool/sakura-rental-wpdb-backupfull/sakura-rental-wpdb-backupfull.zip

尚、CRON設定に関しては例を管理画面に書いていますのでそちらの参考に設定をお願いいたします、またバックアップは1週間保持します。
月曜日?日曜日まで7ファイルのMYSQL、DBのバックアップファイルが出来上がります。管理画面の曜日設定にチェックが入っていないものはバックアップ致しません。

※ソースコードは下記になります。
※2020年12月、修正しました。ソースコードは下記になります。
※wp-load.phpの階層を自身の階層に変更してください。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="Description" content="Enter your description here"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.0/css/all.min.css">
<link rel="stylesheet" href="assets/css/style.css">
<title>さくらレンタルサーバーでWordPressのDBバックアップを支援するPHPコード</title>
</head>
<body>
	<div class="container">
		<div class="row">
			<div class="col table-responsive">
					<table class="table" id="tbl">
					</table>
			</div>
		</div>
	</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/js/bootstrap.min.js"></script>
<script src="./assets/js/common.js?<?=time()?>"></script>
</body>
</html>
window.onload = function () {
	$.ajax({
		type: "POST",
		dataType: "json",
		url: "./lib/view.php",
		data: "data",
		success: function (response) {
			if (response.password.ok === "ok") {
				view();
			} else {
				passwordview();
			}
		}
	});
};


function view() {
	let str = "";
	fetch("./schedule.dat").then(response => response.text()).then(data => {
		let weekval = data.split(",");
		let weekname = 
			[
				{en:"Sunday",ja:"日曜日"},
				{en:"Monday",ja:"月曜日"},
				{en:"Tuesday",ja:"火曜日"},
				{en:"Wednesday",ja:"水曜日"},
				{en:"Thursday",ja:"木曜日"},
				{en:"Friday",ja:"金曜日"},
				{en:"Saturday",ja:"土曜日"}
			];
		
		if (weekval.length === 7) {
			for (var i = 0; i < 7; i++) {
				let weekvalflg = weekval[i] == 1 ? " checked " : "";
				str += `
		<tr>
		<td>${weekname[i].ja}</td>
		<td>
			<div class="form-check">
				<input id="${weekname[i].en}_chk" class="form-check-input" type="checkbox" name="" value=1 ${weekvalflg}>
				<label for="${weekname[i].en}_chk" class="form-check-label">バックアップする</label>
			</div>
		</td>
	</tr>
		`;
			}
		} else {
			for (var i = 0; i < 7; i++) {
				str += `
		<tr>
		<td>${weekname[i].ja}</td>
		<td>
			<div class="form-check">
				<input id="${weekname[i].en}_chk" class="form-check-input" type="checkbox" name="" value=1>
				<label for="${weekname[i].en}_chk" class="form-check-label">バックアップする</label>
			</div>
		</td>
	</tr>
		`;
			}

		}
		str += `
<tr>
	<td colspan="2"><button class="btn btn-primary"  id="btn" type="button">設定する</button></td>
</tr>
`;
		document.getElementById("tbl").innerHTML = str;
		document.getElementById("btn").addEventListener("click", function () {
			$.ajax({
				type: "POST",
				url: "./lib/backup-setting.php",
				data: {
					Sunday: document.getElementById("Sunday_chk").checked?1:0,
					Monday: document.getElementById("Monday_chk").checked?1:0,
					Tuesday: document.getElementById("Tuesday_chk").checked?1:0,
					Wednesday: document.getElementById("Wednesday_chk").checked?1:0,
					Thursday: document.getElementById("Thursday_chk").checked?1:0,
					Friday: document.getElementById("Friday_chk").checked?1:0,
					Saturday: document.getElementById("Saturday_chk").checked?1:0
				},
				dataType: "json",
				success: function (response) {
					if (response.ok == "ok") {
						alert("設定しました");
					} else {
						alert("失敗しました");
					}
				}
			});
		});

	});
}

function passwordview() {
	document.getElementById("tbl").innerHTML = `
	<tr>
	<td>wordpress Id</td>
	<td>
		<div class="input-group">
			<input class="form-control" type="text" id="wpid" placeholder="ワードプレスのIDを入力ください" aria-label="ワードプレスのIDを入力ください" aria-describedby="wpid">
		</div>
	</td>
</tr>
<tr>
	<td>wordpress pass</td>
	<td>
		<div class="input-group">
			<input class="form-control" type="password" id="wppass" placeholder="ワードプレスのPassを入力ください" aria-label="ワードプレスのIDを入力ください" aria-describedby="wppass">
		</div>
	</td>
</tr>
<tr>
	<td colspan="2"><button class="btn btn-primary"  id="btn" type="button">ログインする</button></td>
</tr>	
	`;



	document.getElementById("btn").addEventListener("click", function () {
		$.ajax({
			type: "POST",
			dataType: "json",
			url: "./lib/pass.php",
			data: { wpid: document.getElementById("wpid").value, wppass: document.getElementById("wppass").value },
			success: function (response) {
				if (response.password.ok === "ok") {
					view();
				} else {
					alert(response.password.msg);
					passwordview();
				}
			}
		});
	});
}

タグ

5.6, db, dbbackup, ID, pass, php, sakura-rental-wpdb-backupf, WARNING, web, WordPress, wploadfile, アップロード, インストール, お願い, コード, サーバー, さくら, ダウンロード, バックアップ, ファイル, フォルダ, プログラム, ベーシック, メール, ルート, レンタル, 上記, , 動作, , 場合, 変更, 外部, 完了, 容易, 対応, 担当者, 支援, 環境, 発生, 設定, 設置, 認証, 部分, 階層, , 駆け出し,

mixiにログインしたのだけど。

2016.12.20

Logging


mixiにログインしたのだけど
友達がいないので、つぶやきとアイコン変更して
ログアウトしました。昔、ミクシィは招待制だったのだけど
数年前から誰でもアカウントを持てるようになった。
その時にアカウント申請をしたのだけど
面白みがない(友達がいない)ので、
その後ログインしなったのですが、
この頃、考え方が変わり
友達がいないので使わないのは勿体無いと思い
フェイスブックなど、ツイッターと連動できるSNSは
稼働して軌跡(ある人や物事がたどってきた跡)を
残そうと考えたわけです。
そのバックアップとしてmixiやフェイスブックを使っているわけです。
自分が60代とかになってSNSとか言うものを
使っている人はどれぐらいいるのだろうか分からないけれど
その時、おそらく資産になることは間違いないと思っています。
よくよく考えてください、大体の人がSNS疲れで
引退していくでしょうから、その時まで続けれてたら
何かの資産になるじゃないかなと思っています。
自分もいつまで続くのかわからないですが、やってみる価値は
あるのかなと思っています。

タグ

Business ComicSeries, mixi, SNS, アイコン, アカウント, アカウント申請, ツイッター, どれぐらい, バックアップ, フェイスブック, マンガ, ミクシィ, 友達, 招待制, 数年前, 資産, 軌跡, 面白み,

昔勤めていた会社では動けば良いコードだった。どうなのそこんトコロ!

2016.01.10

Logging


Twitterの広告にこういうものが掲載されていた。
コードの良し悪しで実力があるのか無いのかを判断して人材確保する会社。
即戦力っていうのは良い反面、その会社に人材を育てる体力がないことを表している。
で、実際、昔勤めていた会社では動けば良いコードだったのだけど
どうなのそこんトコロ!である。
東京で働いていた時、ふと思ったのは
正確に動けば良いっていう話でコードの良し悪しは
二の次だったように思える、実際、東京で働いていたときは
コードを書いていたわけではないが・・・
言うほど洗練されたコードが記述されていたわけでもなかった。
よくよく考えると、大企業になると下請けの下請けみたいになったり
海外へ委託したりするので、出来上がったコードは
動けば良いコードになっている気がする。
人数が多ければ多いほど品質はどうなんだろうかと
思うわけだけど、実際いろいろな所をみてきた限り動けば良い
コード(ある基準は満たしている)になっている気がする。
そんなことよりも誰が何を修正したかとかバックアップが
取れているのかなど、そちらが非常に大事になる。
そのため、ソースのコメントは絶対必須だった。
自分が思うには、大体の開発は1人でやるわけではないので
重要なのはチームワークや情報の共有だったりする、
そのためのコミュニケーション能力は必要になるが
それは仕事の上でのはなしだといえる。
そう思うとこのコードテストで転職もある基準を
満たしていれば良いだけの話だとも言えるかもしれない。
ひとりが凄いコードを書いても、自己満足でしかなくなるのだ。
だた、会社によりある基準というのがある事も確かです。

タグ

SE 2週間, コード, コミュニケーション能力, チームワーク, トコロ, バックアップ, 下請け, 二の次, 人材, 会社, 即戦力, 基準, 完全版, 技評SE選書, 自己満足, 良いコード, 良し悪し,