平衡点
2014/07/05
_ systemd + squid3 + resolvconf
squid3.service - 平衡点(2014-06-30) の続き. とっても ad hoc な気がしたので, ちょっと変えてみた.
結局 /etc/resolvconf/update-libc.d/squid3 において resolvconf が squid3 が起動していないのに reload し始めるのが原因なので
# source: sh #!/bin/sh PATH="/usr/sbin:/usr/bin:/sbin:/bin" # Make squid aware of changes to resolv.conf squid3 -k reconfigure 2>/dev/null || true
なんてしてみた訳ですが. ...これで良いのかな?
ついでに squid3.service は以下の通りに修正:
# source: conf [Unit] Description=Full featured Web Proxy cache (HTTP proxy) [Service] Type=forking PIDFile=/run/squid3.pid ExecStartPre=/usr/sbin/squid3 -z -f /etc/squid3/squid.conf ExecStart=/usr/sbin/squid3 -YC -f /etc/squid3/squid.conf ExecReload=/usr/sbin/squid3 -k reconfigure [Install] WantedBy=multi-user.target
...はてさて.
2014/07/10
_ NetworkManager が新しくなって...
手元で仕込んでいた cron script が動作していなくて、悩むことしばし。
offlineimap を cron で 15分おきに起動するスクリプト内で、 起動前に nm-tool と sed なんかをゴニョゴニョして 接続状態を確認していたのだけれど、なんと nm-tool が無くなっていた。
良くみたら nm-online というコマンドがあったので、
# source: sh # check network is avaliable nm-online -x || exit 0
としてみた。なんで気がつかなかったのか、といえば そういや apt-listchanges が動いていない気もしないでもない。
2014/07/11
_ 誕生日?
だったみたいです。おいわい下さった皆様、ありがとうございました。
おかげさまで 0x24 歳になりました。今後ともよろしくお願いします。
@uwabami 書いてから気づきました. もっとお若いと思ってました.
— あおえうい@がんばらねば (@aoeui666) 2014, 7月 11
...ん?
@uwabami もっと大人になれよ
— henrich (@henrich) 2014, 7月 11
デスヨネー。
精進します。
2014/07/26
_ Conky用のbiffスクリプト
普段はofflineimapでメールを同期し、localhostでdovecot-imapd上げてメールを読んでいる.
折角手元にIMAPサーバがあるのだから、
- Conkyで未読メール数を表示させる
- IMAP IDLEに対応する
といった事をやりたくなった.
...のででっち上げてみた.
# source: ruby #! /usr/bin/env ruby # -*- coding: utf-8 -*- # Copyright 2014 Youhei SASAKI <uwabami@gfd-dennou.org> # # License: MIT/X11 @see http://opensource.org/licenses/mit-license.php # require 'yaml' require 'net/imap' $config = YAML.load_file(File.expand_path(File.dirname(__FILE__))+ '/config.yaml') def openConnection() imap = Net::IMAP.new($config['server'], $config['port'], $config['ssl'], $config['certs']) imap.login($config['username'], $config['password']) imap.select($config['folder']) return imap end def checkMailbox(imap) status = imap.status($config['folder'], ['UNSEEN','MESSAGES']) num_total = status['MESSAGES'] num_unseen = status['UNSEEN'] File.open($config['notifyfile'], "w+"){|f| f.puts num_unseen.to_s+ "/" + num_total.to_s } end # first connection imap = openConnection() # update notifyFile checkMailbox(imap) # run imap idle imap.idle do |res| begin if res.kind_of?(Net::IMAP::UntaggedResponse) and ['EXISTS', 'EXPUNGE', 'FETCH'].include? res.name # なんか馬鹿らしいけれど. response から UNSEEN, MESSAGES 取れないかなぁ...。 checker = openConnection() checkMailbox(checker) checker.logout checker.disconnect end rescue Exception => err puts err imap.idle_done end end
設定ファイルはこんな感じ
# source: yaml server: SERVERNAME port: PORTNUMBER ssl: TRUE or FALSE certs: LOCATION OF CERTIFICATES FILE username: YOUR USERNAME password: IMAP PASSWORD folder: MAILBOX NAME(e.g. INBOX) notifyfile: OUTPUT FILE FOR CONKY
これを ~/.conky に転がして、パーミッションを適宜調整しておく. あとは ~/.config/autostart あたりに適当なファイル名で
# source: conf [Desktop Entry] Type=Application Exec=/home/uwabami/.conky/mail-checker.rb Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true Name=Mail checker use IMAP idle for conky Comment=Mail checker use IMAP idle for conky, need Ruby >= 1.9.3
なんてしておいて, conky の設定ファイル内では ファイルの中身を cat しておく.
(2014/07/28) checker が無限増殖していたので, disconnect を追加