ローカルのファイルを暗号化しながらリモートに保存する

Posted on 日 13 1月 2019 in tech • Tagged with encrypt, openssl, unix, shell

そもそも論

シェルを書くなら標準入出力ベースで考えるのがスマートだと思うのです。

極論いうと

$ cat hoge.txt

みたいなのは

$ cat < hoge.txt

と書こう、みたいな。

流石に cat でこんなことはしないけれど、

  • 読み込みは標準入力
  • 出力は標準出力

をベースとして考えるのが、シェラー1の道第一歩だと思うのです。

ローカルのファイルをリモートサーバに保存したい。

たまたまそれなりなサイズの嫁2動画ファイルが手元にあって、いいアーカイブ場所を探してたときに、いい感じに容量が有り余ってるレンタルサーバがあった。

......これはもう ここに置くしかない でしょう。

ただ、レンタルサーバというのは基本管理者(サービス提供者)が自由にアクセス・閲覧できるサーバである。 そこにプライベートなものを置くのは多少なり抵抗があるので、 暗号化したい

対象ファイル

ファイルというかディレクトリ。ビデオカメラで撮影したデータを SD カード経由で取り込み、 そのままのディレクトリ階層で保存したい

ここでは単純に hoge,foo,bar の 3 つのディレクトリを保存することを考える …


Continue reading

エックスサーバー(ローカル環境)にtmuxを入れる

Posted on 月 08 1月 2018 in tech • Tagged with tmux, shell

参考

エックスサーバーでsshログインする際にtmuxがないので泣いた。

エックスサーバーはubuntuで動かしてるようだけど、当然レンタルサーバーはapt-getができない。

仕方なくローカル環境へtmuxを導入した際のメモ。


前準備(なくてもいい)

~/tmpで作業

mkdir ~/tmp
cd ~/tmp

依存ライブラリインストール

依存ライブラリも当然ローカル環境にインストールする必要がある。基本はconfigure実行時に--prefixオプションでインストール先を指定する。

libevent

wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
tar zxf libevent-2.1.8-stable.tar.gz
./configure --prefix=${HOME}
make …

Continue reading

Debianサーバーで文字化け

Posted on 月 30 10月 2017 in tech • Tagged with debian, linux, shell

日本語が化ける。

user@localhost:~$ locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

POSIXて。。

export LANG=ja_JP.UTF-8

なおった。

.bashrcに追記してめでたしめでたし


Continue reading

特定の文字列を含まないファイル一覧を取得する

Posted on 月 09 10月 2017 in tech • Tagged with shell, perl

hogeとファイル中に記載されていないファイル一覧を取得したい。

ワンライナーで書けたのでメモ。

find . -name "*.html" -print0 | xargs -0 perl -nle '/hoge/ and close(ARGV) and next; print "$ARGV" if eof(ARGV);'

findでファイルを読み込む。 perlclose(ARGV)は現在読み込み中のファイルをクローズする操作で、ただ、クローズ直後はファイルポインタがEOFになっただけなので、nextしてループを次にすることで、次のファイルを読み込みに相当させる。Perlではループ終了のための構文はbreakではなくてlastだが、上記でnextじゃなくてlastを記述すると、プログラム自体が終了してしまう。

雑な解説。


Continue reading

MySQL/MariaDBのバックアップ

Posted on 火 06 6月 2017 in tech • Tagged with mysql, mariadb, db, shell

何度も調べてるのでめも

データベース内のすべてのテーブル

$ mysqldump -h host_name -u user_name -p database_name > dumpfile.sql

localhostなら-hオプションは多分いらない

テーブルを指定する場合

mysqldump -h host_name -u user_name -p database_name table1 table2 table3 > dumpfile.sql

圧縮もするなら

$ mysqldump -h host_name -u user_name -p database_name | bzip2 -c > dumpfile.sql.bz2
$ mysqldump -h host_name -u user_name -p database_name | gzip > dumpfile …

Continue reading