rsyncとcronのおぼえがき その1

最近,自分のローカルサーバーからリモートサーバーにデータを自動バックアップすることになりました. 色々やり方があるみたいなのですが,その辺りはあまり詳しくないのでとりあえずググって出てきたrsyncとcronで試してみているところです. 次の作業までに作業内容を忘れると思うのでメモ程度にまとめました.

環境

ローカル,リモート共にCentOS

主な作業の参考サイト

主な作業過程は下のページを参考に差分だけした.ただし,参考サイトではリモートからローカルにデータを移行しているので,ローカルからリモートに移行する内容に書き換える必要があった.また,これらの作業内容は,後々shellに書いてcronで定期的に実行できるようにする. qiita.com

使うもの

rsync

コピー元とコピー先のディレクトリでデータを同期させるときに使うコマンド. rsync でディレクトリの同期(バックアップ) - maruko2 Note.

cron

ユーザーが指定した時刻に指定されたコマンドを実行するデーモンプロセス.指定時刻はサーバーでの負荷軽減のために他のコマンドの実行時刻を丸かぶりしないように設定する方が良い(らしい). cronの設定・実行 | WEBサービス創造記

作業中のメモ

sshで移動させたい時は下のような記述方法でポート指定を行う. rsync -e “ssh -p (ポート番号)” ・rsyncを実行する時は,コピー元でもコピー先でもテスト用のディレクトリを作成して,そのディレクトリを用いてコマンドを試す. ・第二層以下のディレクトリ及びファイルのパーミッション再帰的に書き直す必要性がある. いつまでもハマるrsyncのメモ | OpenGroove

問題とその解決方法

・二層以下のデータを同じサーバー内で移行させられなかった. →パーミッションの問題だったので,sudoをつけて実行してみたら通った.shellに書くときにsudo使うのはいまいちなので,chmodで再帰的に書き直すのがいいかなと考えている. ・リモートのデータをもらう側のコピー先ディレクトリの権限の問題で,第二層以下のディレクトリが作成できなかった. →コピー先ディレクトリの持ち主をrsyncの実行時に指定したユーザーに書き換えた.

VirtualBoxを使ってTrueOSを入れてみた@macOS

【概要】

VirtualBoxを使ってmac OS SierraにTrueOSを入れてみました.

 

【実験目的】

FreeBSDディストリビューションの表層を知る
・PC仮装化ソフトVirtualBoxの使い方の基礎を知る

 

【実験環境】

OS環境: macOS Sierra ver10.12
ハード: MacBook Pro(13-inch, Early 2011)
メモリ:8GB


2. 前準備

2-1.TrueOSのディスクをインストールする

下記リンクから好きなイメージファイルをダウンロードする.

http://download.trueos.org/master/amd64/

私の場合は、初めにUSBのimgを落としてVirtualBOXから起動しようとしましたが,USBに保存したファイルが開けずその解決策を見つけられませんでした.そのため、TrueOS-Desktop-2016-10-28-x64-DVD.iso をそのままデスクトップに落としました.

f:id:mathematicat:20161113014125p:plain

 

2-2.VirtualBoxのインストールをする

 下記リンクから「VirtualBox 5.1.8 for OS X hosts→amd64」を選択してダウンロードする.

https://www.virtualbox.org/wiki/Downloads

細かいインストールガイドは下記サイトに譲ります.


3. 実行

(1)VirtualBoxを開く.

f:id:mathematicat:20161113015109p:plain

(2)「新規」ボタンを選択し,写真にある選択肢を選ぶ.
f:id:mathematicat:20161113015315p:plain

(3)使用するメモリーサイズを選ぶ.今回は1GBだと心もとないので4096GB程度にしました.

f:id:mathematicat:20161113015405p:plain

(4)ハードディスクのファイルタイプを選ぶ.今回はVDI(Disk Image)を選択しました(ここはリンクを参考にしただけなので,理由は明確に把握していません...)

f:id:mathematicat:20161113015542p:plain

(5)ストレージの種類を選ぶ.今回は可変サイズにしました.

f:id:mathematicat:20161113015757p:plain

(6)ファイルの保存される場所とそのサイズを選ぶ.今回は,TrueOSというファイルを指定し,仮装マシン用のハードディスクサイズは32GBに設定しました.

f:id:mathematicat:20161113015905p:plain

(7)(6)で「作成」ボタンを選択すると,下のような画面が開きます.

f:id:mathematicat:20161113020103p:plain

(8)「設定」を選択し, 「システム」→「マザーボード」と進み,写真のように起動順序を置き換えます. 

f:id:mathematicat:20161113020727p:plain

(9) 同じく「設定」から「ストレージ」を選択し,「空」となっているアイコンを選択する.光学ドライブに前準備でダウンロードしたTrueOSのisoファイルを指定する.その後,ウィンドウの右下にある「OK」をクリックする.

f:id:mathematicat:20161113020844p:plain

(10)下の写真のように書き換わっていることを確認する.

f:id:mathematicat:20161113021123p:plain

(11)ウィンドウ左上の「起動」を選択すると,下のような画面が表示される.処理が終わるのを少し待つ.

f:id:mathematicat:20161113021319p:plain(12)その後,下のようなウィンドウが表示されるので,一番上のxorgを選択して,Enterキーをダブルクリックする.

f:id:mathematicat:20161113021419p:plain

(13)多少待つと下のようなウィンドウが表示される.使用する言語を選択して「Next」ボタンを押す.今回はEnglishにしました.

f:id:mathematicat:20161113021617p:plain

(14)ラップトップに入れるので,TrueOS Desktopを選択して「Next」ボタンを押す.

f:id:mathematicat:20161113021753p:plain

f:id:mathematicat:20161113021738p:plain

(15)Boot-Loaderは「BSD」を選択する.今回の実験では,GRUBを選択するとうまく起動できませんでした(他にうまく行かなかった要因があるかもしれないが).

f:id:mathematicat:20161113021900p:plain

f:id:mathematicat:20161113021900p:plain

(16)(15)の画面でNextを選択すると以下のようなポップアップがでるのでOKを選択する.

f:id:mathematicat:20161113022054p:plain

(17)インストール中です...という画面になるので,処理が終わるまで数分待つ.

f:id:mathematicat:20161113022200p:plain

(18)インストールが終わりました!「Finish」ボタンを押す.

f:id:mathematicat:20161113022419p:plain

(19)下のような青い画面になったら「reboot」を選択する.

f:id:mathematicat:20161113022509p:plain

(20)黒い画面に切り替わったらすぐキーボードにある数字の「4」キーを押す.素早く押さないと何度もBootの画面に戻るので注意する.

「Rebooting...」と一瞬表示されていたら成功.

f:id:mathematicat:20161113022913p:plain

 (21)しばらく待つと青い画面表示に戻るので,左上の赤い閉じるボタンを選択する.

f:id:mathematicat:20161113023120p:plain

(22)下のようなポップアップが出てくるので,「Power off the machine」を選択して,「OK」ボタンを押す.

f:id:mathematicat:20161113023413p:plain

(23)下のような画面に戻ります.

f:id:mathematicat:20161113023705p:plain

(24)(23)のウィンドウにある「ストレージ」の「セカンダリマスター」を選択して,「仮装ディスクを除去」をクリックする.正しくできれば,下の写真のように「空」に戻る.

f:id:mathematicat:20161113023901p:plain

(25)再度「起動」ボタンを押すと下のようなウィンドウが表示される.

f:id:mathematicat:20161113024559p:plain

(26)少し処理を待つと,下のような画面に切り替わる.TrueOSの仮想マシンで使う言語を選択して「Next」ボタンを押す.

f:id:mathematicat:20161113024713p:plain

(27)タイムゾーンを設定する.今回は,「System Hostname」の欄は特に要件がないのでいじりませんでした.

f:id:mathematicat:20161113024921p:plain

(28)rootのパスワードを設定する.

f:id:mathematicat:20161113025051p:plain

(29)個人ユーザーのアカウント名やパスワードを登録する.

f:id:mathematicat:20161113025135p:plain

(30)オーディオ設定を行う.

f:id:mathematicat:20161113025304p:plain

(31)IPv6などの無効化等を行う.

f:id:mathematicat:20161113025359p:plain

(32)(31)の画面で「Next」ボタンを押すと,下の画像のような個人のログイン画面に切り替わる.自分の作ったアカウントでログインする.
※デスクトップの設定をLuminaでない方にすると,アイコンが全く表示されていないデスクトップが表示されてしまうので,今回はLuminaに設定してみました.

f:id:mathematicat:20161113025541p:plain

(33)無事にデスクトップが表示されたら成功!

f:id:mathematicat:20161113025643p:plain

 

4.感想
とりあえずVirtualBoxを使う際の流れはつかめた気がする.

 

8.参考文献

https://www.trueos.org/

 

Mac bookのキーリピートを早くするときに気をつけること

システム環境設定>アクセシビリティにあるキーボード設定のうち「スローキー」が有効になっているとキーリピートの設定を爆速にしても実際に反映されません。

 

基本的にMacのキーリピートの設定は、下の2通りの方法で速くできることが知られています。


1. システム環境設定のキーボード
キーのリピートを「速い」に、リピート入力認識までの時間を「短い」にする。

*Mac OS X: キーボードのキーのリピート速度を設定する方法

 

2. ターミナル

下記リンクが、現行速度を調べたり、コマンドでキー速度を変更するときに参考になると思います。

Macのキーリピートをシステム設定での設定よりも速くする

<注意点>

・リンク先にある「NSGlobalDomain」は「-g」と同じ意味合いだそうです。

・ターミナルから変更するときは、変更終了後に再起動する必要性があります。サイキ遠うしないと変更が適用されません。

・「sudo defaults ほにゃほにゃ」として、スーパーユーザーでしてしまうとユーザー個人の設定に反映されない模様です。

 

3. Karabiner(旧KeyRemap4MacBook)

Karabiner - OS X用のソフトウェア

キーリピートの設定をシステム環境設定から変更できるレンジよりも広くいじることができる、ということで知られているそうです(使ったことはありません)。

また、先日出たmacOS SierraではKarabiner(旧KeyRemap4MacBook)が使えないそうです。ただGithubで共有されているconfigureをいじればどうにか使えるようなので、Qiita等の記事を参考に変更してみると良いかもしれません。

 

 

余談

メインで使っているMac Book Pro(Early, 2011)のSSDとメモリをパワーアップしました。

  初めからついていたHDD → SSD (サムスン)

  初めからついていたメモリ4GB → 8GB(バッファロー)

特に大きな不具合はないので2011年モデルをずっと現役で使っています。ですが、最近PhotoshopやUnityをいじったりする時やPCを起動する時等で、落ちたり異常に時間がかかるようになりました。手伝ってもらいつつ良さそうなパーツに組み替えたところ、4分ぐらいかかっていた起動が20秒足らずでできたり、目に見えて変わったのでよかったです。

 

 

 

 

レポートの書き方についてのレポート

とかいう,とてもメタな感じの宿題が出た.

 

とりあえず,真っ先にすることといえば,敬愛する読書猿のサイトから関係ありそうなリンクを貼っていくことだ.くるぶしさんはとてもミステリアスだからいつかお会いしてみたい.高校時代から毎回何かにつけては参照するほど非常に素敵な知の宝庫.大学で借りた書籍についてはまた読んだらここにリンクでも貼る.

 

いまさら聞けない,課題図書のあるレポートに書くべき3つのこと 読書猿Classic: between / beyond readers

 

何から手をつけていいか分からない人のためのレポート作成の穴埋め表:深く再利用できる読みのために 読書猿Classic: between / beyond readers

 

博論は宝の山/テーマが決まったら真っ先に博士論文を読もう 読書猿Classic: between / beyond readers

秋学期の課題リスト

夏の大学院での6週間のインターン履修登録も終わって,大学生活がまた始まった.

いろいろ思うところもあるので,秋は目標を立ててそれに沿って勉強に励む.学期中は例に漏れず課題と予習復習で信じられない程忙しいその他所属している団体での開発なり作業に時間を振ることになるだろう.だからこそ,隙間時間を見つけて,自分の大学院でしている神経とデータ解析の研究の続きと,今のその研究に必要な学問を学んでいきたい.

 

目標

◆プログラミングとOSに関する技術・知識の向上+実践

◆データ解析,神経科学(実験も理論も),数学の知識・技術の向上+実践

 

手段

◆Git, Ruby, C#の習得

Pythonで使えるデータ解析,データ表現の手法を増やす

◆オールA

◆TOEIC900

◆毎日英語でtweetする

 

◆Git

課題

サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ

Learn Git Branching

+追加課題

Slides/GitHub/Git Hub開発ワークフローサンプル - esa-pages.io

Github-flow

https://cnxt.jp/wordpress/wp-content/uploads/2015/10/github_flow.png

https://cnxt.jp/wordpress/wp-content/uploads/2015/10/github_flow.png

+参考資料

Gitを使った開発に慣れるまでの学習方法 - Qiita

進捗(10/09)

こわくないgitで書かれた作業は,macOS環境下では出来るようになった.windowsはなんかUnix環境下で使えるコマンドが使えないし,面倒でGitは使いたくない... ただ,持ってるwindowsPCしかUnityがまともに動かないかGitの内部まで理解できたらwindowsでも挑戦してみる.とりあえずこの先は,サルでも~⇒rebaseめっちゃするサイトの順に練習してみる.後は中で行われている処理について調べる.

進捗(10/13)
サルでも~はリファレンス代わりに使うことにして,Learn Git Branchingを先に終えた.Git Remoteとチーム開発用のワークフローのをやって勉強は終わり.

 

Ruby

課題

Learn Ruby - Free Interactive Ruby Tutorial

コードガールこれくしょん | コードを書いて美少女を集めよう!ゲーム感覚でプログラミングが学べる!

友人の書いたmrubyのコードをひたすら読む

進捗(10/09)

まだ.learnrubyは今週の課題.

進捗(10/13)

 learnrubyは終わった.内容がかなり薄かったので先にmrubyのスクリプトを読んで足りない部分を知る.その程度で理解できそうなら,コードガールは飛ばす.

 

C#

課題

Learn C# - Free Interactive C# Tutorial

コードガールこれくしょん | コードを書いて美少女を集めよう!ゲーム感覚でプログラミングが学べる!

テラシュールブログの関係ありそうな記事とコードを読む

UnityのUI書く

+追加課題

C# によるプログラミング入門 | ++C++; // 未確認飛行 C

進捗(10/09)

learncsは無事終了.コードガールを進めている(今ステージ14に入ったところ).

進捗(10/13)

追加で,C#をもう少し深めに勉強.歴史的経緯とかそのあたりを学びたい

 

Python

+参考資料

numpy + scipy + matplotlibについて - 機械学習・深層学習を学ぶ

 

 

 

 

 

 

 

 

 

Skype英会話#1

夏の英語圏でのインターンに向けてSkype英会話を始めた。 今日が1回目。 レベルチェックは1~10中で6のintermediate(英検2級程度)だった。
TOEICは830で普段の授業などでも抵抗なく発言しているものの、普段から「英会話」に苦手意識・コンプレックスがあったので、まあ納得の結果。

こんな英語、聞いている相手は相当辛かったんだろうと思うと切なくなる...

 

会話内容の録音を聞いての今後の課題↓

・変に音を消して発音しない(ネイティブっぽく話せているつもりでも結構気持ち悪い英語になっていた)

・RとLの発音(できてたつもりだけど、できなくなってた。naturallyとか)

・覚え間違えてる発音の矯正(Balletをずっとバレットだとおもってたら英語でもバレエだった)

・いきなり言われると出てこない単語の解決(大学二年生(=sophomore)だとか政治家だとか期待だとか観光地だとかが出てこなかった)

・そもそも与えられたテーマについて話したいことがない(好きな食べ物とか、大学の紹介とか、趣味とか)
→言いたい内容を考えて、それに対する英語の説明も頭に入れておく

・短く要点を話せていない(自分が長たらしく話した内容を簡潔な単語でまとめられると悲しい)

・時制の切り替え(過去の話なのに現在形にしていたりだとか)

・使える時制・文章表現が限られている(現在形、過去形、それら+助動詞くらいしかない。仮定法が会話で使えない。表現に困ったらthere is~~~になってて中学生かな、みたいな感じになる。)

・やたらtheをいろんな名詞につけて話してしまう

・イディオムが受験以来すっかりさっぱり忘れている

・最低限の単語セットでしか話せない(中学生が初めて習う基本構文の典型例、みたいな文章でしか話せていなくて驚いた)

・副詞の位置が適当すぎて意味が読み取りづらくなっている

 

とりあえず直近の修正事項↓

・助動詞
・時制
・仮定法とか
・冠詞
・副詞
・イディオム
・発音

 

使うもの

・文法

www.amazon.co.jp

・発音
↓+録音機で自分の発音矯正。イギリス英語なのは、変な癖のついたアメリカ英語の発音を一旦矯正したいから。あと、TOEICなどの試験でイギリス英語の問題だけよく聞きとれなくなってしまうのでそれを改善するため。

www.amazon.co.jp

・リスニング

www.amazon.co.jp

なんかSkype英会話のレベルテスト的にはあと240レッスンでLv7に行く予想らしいので、20回ぐらいでLv7に行けるように自分で反省点を逐一洗い出して補完していこうと思う。
貧乏学生&一次期限が夏休みなので早々レベルアップしたい所存。

電子工作とプログラミングに再挑戦してみる

電子工作側はArduinoやらmbed(LPC1114とLPC1768)やらラズパイやらをLチカをしたきり何もできていない。

プログラミングもUnityでC#に入るところでやめて、HTMLとCSSJavaScriptWordPressをちょっといじれるくらいでやめて、PythonHaskellRubyもちょっとさらってやめて...という感じ。

とりあえず、情報の得やすいArduinoと教えてもらえる環境にあるRubyをしてみようかと思う。

多分、途中で終わってしまうのは様々なことに手を出しすぎているからなので、今年度は出来る限りやることを絞る。

■神経科学 ■英語 ■

とかかな。