Enkelt sysrc-script for å kontrollere rTorrent.
I en tidligere post skrev jeg at å skrive et sysrc-script for å starte rtorrent automatisk fra rc.conf var en enkel sak, så her er scriptet. Det baserer seg på tmux og ikke screen, så noen små forskjeller vil det være fra screen. Poenget er uansett at man får en enkel måte å starte og stoppe rtorrent på som benytter seg av systemets innebygde mekanismer for dette, fremfor å knote med crontabs og måtte starte og stoppe screens manuelt.
Krever tmux, som installeres enkelt slik:
# pkg install tmux
Her er scriptet; opprett det som /usr/local/etc/rc.d/rtorrent:
#!/bin/sh # # $FreeBSD$ # # Runs as unprivileged user "rtorrent". # Lives in "tmux" because rtorrent isn't a daemon. # # To access rtorrent running in tmux: # su - rtorrent && tmux attach # # To detach the tmux and leave rtorrent running: # Press Ctrl-B then D # # Put rtorrent_enable="YES" in /etc/rc.conf to # start at boot. # # PROVIDE: rtorrent # REQUIRE: NETWORK # KEYWORD: shutdown . /etc/rc.subr name="rtorrent" rcvar=rtorrent_enable start_cmd="${name}_start" stop_cmd="${name}_stop" load_rc_config $name : ${rtorrent_enable:=no} rtorrent_start() { echo "Starting rtorrent." su - rtorrent -c "tmux new-session -d -s rtorrent 'nice /usr/local/bin/rtorrent'" } rtorrent_stop() { echo -n "Stopping rTorrent" su - rtorrent -c "tmux send-keys -t rtorrent C-q" # give it time to die properly, required for proper restarts. # also, print dots to indicate something is happening. echo -n "." ; sleep 2 ; echo -n "." ; sleep 3 ; echo ". done." } run_rc_command "$1"
Gjør scriptet kjørbart:
# chmod 0755 /usr/local/etc/rc.d/rtorrent
Aktiver rtorrent i rc.conf:
# sysrc rtorrent_enable=yes