自環境をさらしていくシリーズ。
誤解
ChromebookではGoogleドライブを使っているのでクラウドに保存されていると思うじないですか。
ちがうんです。Chromebookは、ファイルアプリがネイティブにGoogleドライブを見てるだけで、作業そのものはローカルでやったりもするんです。
そしてパソコンと同じでローカルにも保存できるんです。
しかしローカルに保存するメリットは、殆どないので、可能な限りGoogleOneなりクラウドを駆使したほうが良いのは間違いないんですけど、容量にも限りがあります。
特に無課金だと顕著です。だからローカルなんですけど。
ローカルにも限りがあるのでじゃぁSDカードにバックアップしちゃおうじゃないかというお話です。
前提
前提としては、
- Googleドライブの容量をできるだけ消費したくない
- 本体の容量も消費したくない
- SDカードは2年に1回くらいとか定期的なペースで買ってる気がする
とか、そのあたりの人です。
つまり、ダウンロードした某かをなんらかの理由により保存しておかなければならない状態の人が対象です。ブロガーとか。
といいますか、アプリ開発をしてるような人は、きっともっといい方法を知っているはずなので、教えてほしいです(*´ᄋ`∩)ぜひ
手順
- Linuxを使える状態にする
- ダウンロードフォルダ(/mnt/chromeos/MyFiles/Downloads)をLinuxと共有する
- SDカードの保存フォルダ(/mnt/chromeos/removable/[SDカードのボリューム名])をLinuxと共有する
- シェルスクリプトを書く
- Crontabに登録する
あとは自動です。まれにOSのアップデートとかのタイミングでフォルダの共有が壊れるので、共有し直すとかいうことはあります。
仕組み
SDカードや本体のフォルダをLinuxに共有を行うと、ChromebookのLinux(Crostini)では、/mnt/chromeos/配下にマウントされます。その環境を利用してファイルコピーを定期的に行うということになります。
わたしの今の環境だと、コピー用シェルスクリプトを1分毎に定期実行しています。
例(わたしのばあい)
用意するファイル
実行するコマンド
2種類のファイルを用意してコマンドを打つだけです。
ln -s /mnt/chromeos/removable/SDcard128GB/chromebook/downloads downloads⏎
↑ ファイル置き場のフォルダ名が長いのでシンボリックリンクを貼って短くしています。
chmod 755 pngquanted.sh⏎
↑ pngquantedが実行可能なシェルスクリプトだという設定をしています。
crontab crontab_meow⏎
↑ Crontabに設定ファイル(crontab_meow)を読み込んで設定しています。
補足
現在のバージョンだと、ファイルの移動だけではなく圧縮なども一緒に行っています。
ダウンロードするファイルはもちろんダウンロードフォルダに保存されるのですが、スクショしたファイルやダウンロードした参考画像などもダウンロードフォルダに溜まっていくわけです。
最初はいちいちSDカードに移動させていたのですが、めんどくさいんですよね=͟͟͞͞(๑º ロ º๑)っ
MacOSにあるAutomatorのようなことをしたくて、簡易ではありますがLinuxでやってみたというのが背景となっています。
課題としては、SDカードを認識しなくなったとき、あるいはアップデートがあったとき、Linuxと共有が解除されてしまいます。なので、動作しないなー?と思ったらLinuxと共有をもう一度してあげるということが、まれによくあります。