自動化無しに生活無し

WEBとかAIとかLinux関係をひたすら書く備忘録系ブログ

  • Djangoのmanage.pyのコマンドをsystemdから動かして常駐化【データを常にチェックし、Sendgridでメール送信】

    Djangoでは、manage.pyコマンドを追加することができる。 参照: 【Django】manage.pyコマンドを追加させる【バッチ処理、常駐プログラムなどに】 これにより、例えばTodoリストの期限が切れたデータをチェックして、Sendgridを使ってメールで通知できる。 しかし、デプロイをした後は別途systemdによる管理が必要になる。 本記事では、デプロイ後のmanage.pyの独自コマンド ...
  • 【Ubuntu】ディスクの読み込みスピードをチェックする【sudo hdparm -tT デバイス名】

    これで、ディスクの読み込み速度が調べられる。 sudo hdparm -tT デバイス名 まず、デバイス一覧を下記コマンドで調べる。 sudo fdisk -l デバイスのパスを指定する sudo hdparm -tT /dev/sdb 動かすとこうなる。 やはり、SSD(/dev/sda)とHDD(/dev/sdbと/dev/sdc)では二倍近い読み込み速度の差があるようだ。 結論 sambaをインストールして、ファイルサーバーを作る時に使うとよいだろう。 ディスク速度とネットワークの速度、どちらが ...
  • Ubuntuにbeepコマンドをインストール【crontabで時報を作る】

    インストール sudo apt install beep 動かす -fは周波数つまり音の高さ、-lはミリ秒指定で音の長さを指定できる。 beep -f 5000 -l 2000 動かないとき 下記コマンドを実行、 sudo vi /etc/modprobe.d/blacklist.conf これを # ugly and loud noise, getting on everyone's nerves; this should be done by a # nice pulseaudio bing (Ubuntu: #77010) blacklist pcspkr こうする。 # ugly and loud noise, getting on everyone's nerves; this should be done by a # nice pulseaudio bing (Ubuntu: #77010) #blacklist pcspkr そして、読み込み直す。 sudo modprobe pcspkr crontabで1時間おきにbeepを鳴らす。 時報として使う事ができる。動かすのは8時から18時まで 00 8-18 * * * user beep -f 880 -l 300 ...
  • Ubuntuのアップグレード時の設定を置き換えてはいけない

    Ubuntuアップグレード時、こんなダイアログが表示されることが有る。 この設定の置き換えをしてしまうと、新しい設定ファイルに置き換えられ、これまで書いてきた設定ファイルは全て消えてしまう。 これまでの設定ファイルを残しておきたいのであれば、『そのまま』を選ぶ。 このダイアログの選択肢を誤るとcrontabやvimの設定も消えてしまうので、十分注意する。 ...
  • rtcwakeコマンドを動かす【指定時間後に復帰、WOLが使えない時に】

    私のサーバーは夜中は操作しないので、crontabでshutdownすることにしている。 そして、朝になったらラズパイなどの常時動いている端末にWakeOnLanを送信して起動させている。 だが、そのサーバーが無線LANになった時、WakeOnLanは通用しない。 ではいかにして、終了と起動を指定時間に行わせるか。そこで、rtcwakeを使う。 今すぐ終了して7時間後に起動して欲しい場合 sudo rtcwake -m off -s 25200 これを ...
  • vimの操作方法

    前提 vimは通常のテキストエディタと違って、主に3つのモードを使い分けて編集を行う コマンドモード 挿入モード ビジュアルモード コマンドモード vimを起動した時、デフォルトでこのモードになっている。 保存や終了、検索やマクロなどのコマンドを実行する事ができる。 挿入モード テキスト入力をするモード。i、o、aキーのいずれかでこのモードに入る。 挿入モードを終了してコマンドモードに移行するにはEscキーを押す。 ビ ...
  • FFmpegを使ってUbuntuサーバーにUSBで接続されたウェブカメラで映像を録画する

    Ubuntu 22.04 Serverでやった ハードはラズパイ3B+ インストール FFmpegとv4l2-utilsをインストール sudo apt install ffmpeg v4l-utils デバイスを特定する v4l2-ctl --list-devices こんなふうに表示される(一部省略) BUFFALO BSWHD06M USB Camera : (usb-3f980000.usb-1.4): /dev/video0 /dev/video1 /dev/media3 対応しているフォーマットと解像度を特定する ffmpeg -f v4l2 -list_formats all -i /dev/video0 こんなふうに表示される(一部省略) [video4linux2,v4l2 @ 0xaaaad7c25420] Raw : yuyv422 : YUYV 4:2:2 : 1280x720 800x600 640x480 640x360 352x288 320x240 176x144 160x120 [video4linux2,v4l2 @ 0xaaaad7c25420] Compressed: mjpeg : Motion-JPEG : 1280x960 1280x720 800x600 640x480 640x360 352x288 320x240 176x144 160x120 映像を録画する ffmpeg -f v4l2 -framerate 30 -video_size 352x288 -i /dev/video0 output.mkv 後はこの映像をs ...
  • 【Ubuntu】netplanに無線LAN(wifi)で固定IPアドレスを割り当てる

    有線であれば以下のように書く。 network: ethernets: eth0: dhcp4: false addresses: - 192.168.11.246/24 routes: - to: default via: 192.168.11.1 nameservers: addresses: - 192.168.11.1 version: 2 無線LANの場合、ip addrで表示される無線LANのデバイス名を控えた上で下記のように記す network: wifis: wlan0: dhcp4: false addresses: - 192.168.11.246/24 routes: - to: default via: 192.168.11.1 nameservers: addresses: - 192.168.11.1 access-points: "SSIDname": password: "password" version: 2 ...
  • Herokuの無料プランで独自ドメインを設定し、HTTPS通信を行う方法【ムームードメイン+Cloudflare】

    無料プランでは独自ドメインのセットは出来てもHTTPS通信を行うことは出来ない。 そのため、Cloudflareをリバースプロキシとして機能させ、クライアントからCloudflare間まで暗号化させる。 一見安全性に欠けるような形だが、AWSにデプロイした際も、クライアントからリバースプロキシ間までしか暗号化はされないので、それほど問題ではない。 気になるなら、有料プランを使用してHTTPS通信を行うと ...