雑記帖

MyDNSのIPアドレス通知スクリプト


MyDNS.jpにIPアドレスを通知するスクリプトを定期的に実行する仕組みをArchLinux上に構築する

  1. 通知スクリプト作成

    /root/mydns_update.sh

    #!/bin/sh
    USER=ユーザ名
    PASSWORD=パスワード
    
    curl --user $USER:$PASSWORD --silent -o /dev/null http://www.mydns.jp/login.html
    curl --user $USER:$PASSWORD --silent -o /dev/null http://ipv4.mydns.jp/login.html
  2. 作成したスクリプトに実行権限をつける

    $ sudo chmod +x /root/mydns_update.sh
  3. Arch Linuxの場合cronは非推奨らしいので、systemd/Timersを使ってスクリプトを毎日実行させるようにする

    /etc/systemd/system/mydns.service

    [Unit]
    Description=MyDNS dnsinfo update
    After=network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=oneshot
    ExecStart=/root/mydns_update.sh

    /etc/systemd/system/mydns.timer

    [Unit]
    Description=MyDNS dnsinfo update
    Wants = multi-user.target
    After = multi-user.target
    
    [Timer]
    OnCalendar=daily
    RandomizedDelaySec=5s
    Persistent=true
    
    [Install]
    WantedBy=timers.target
  4. サービスを有効化する

    $ sudo systemctl daemon-reload
    $ sudo systemctl start mydns.timer
    $ sudo systemctl enable mydns.timer