/etc/transmission-daemon/settings.json
/etc/init.d/transmission-daemon stop
/etc/init.d/transmission-daemon start
speed-limit-down
speed-limit-up
#!/bin/bash #v1.0 # ip=192.168.1. # n=3 # i0=2 i=$i0 # . 0 - , ; 1- - , speedlimit=0 # , upspeed=50 downspeed=500 # , - upspeedlim=10 downspeedlim=10 let end=n+i result=0 # while [ 1 = 1 ]; do # i end until [ "$i" -eq "$end" ];do result=$(ping -c 1 $ip$i | tail -2 | head -1 | awk '{print $4}') # - , .. . if if [ "$result" = 1 ]; then break fi let i++ done # =1 (- ) , #, =0 ( ) , if [ "$result" = 1 ]; then if [ $speedlimit = 0 ]; then sudo /etc/init.d/transmission-daemon stop # sudo perl -pi~ -e 's/"speed-limit-down":(.+)/"speed-limit-down": '$downspeedlim',/' /etc/transmission-daemon/settings.json # sudo perl -pi~ -e 's/"speed-limit-up":(.+)/"speed-limit-up": '$upspeedlim',/' /etc/transmission-daemon/settings.json sudo /etc/init.d/transmission-daemon start speedlimit=1 fi fi if [ "$result" = 0 ]; then if [ $speedlimit = 1 ]; then sudo /etc/init.d/transmission-daemon stop # sudo perl -pi~ -e 's/"speed-limit-down":(.+)/"speed-limit-down": '$downspeed',/' /etc/transmission-daemon/settings.json # sudo perl -pi~ -e 's/"speed-limit-up":(.+)/"speed-limit-up": '$upspeed',/' /etc/transmission-daemon/settings.json sudo /etc/init.d/transmission-daemon start speedlimit=0 fi fi # 30 sleep 30 i=$i0 done
#!/bin/bash #ver.1.1 #transmission ip:port tip=192.168.1.100:9091 #login login=* #password password=* # ip=192.168.1. # n=3 # i0=2 i=$i0 let end=n+i result=0 # start=1 # speedlimit=0 # while [ 1 = 1 ]; do # i end until [ "$i" -eq "$end" ];do result=$(ping -c 1 $ip$i | tail -2 | head -1 | awk '{print $4}') # - , .. . if if [ "$result" = 1 ]; then break fi let i=$i+1 done # =1 (- ) , #, =0 ( ) , if [ "$result" = 1 ]; then if [ $start = 1 ]; then # # , transmission-remote $tip -n $login:$password -as speedlimit=1 start=0 else if [ $speedlimit = 0 ]; then # , transmission-remote $tip -n $login:$password -as speedlimit=1 fi fi fi if [ "$result" = 0 ]; then if [ $start = 1 ]; then # # , transmission-remote $tip -n $login:$password -AS speedlimit=0 start=0 else if [ $speedlimit = 1 ]; then # , transmission-remote $tip -n $login:$password -AS speedlimit=0 fi fi fi # 30 sleep 30 i=$i0 done
#!/bin/bash #v1.2 #transmission ip:port tip=192.168.1.100:9091 #login login=login #password password=pass # ip=192.168.1. # n=3 # i0=2 i=$i0 let end=n+i result=0 # start=1 # speedlimit=0 # while [ 1 = 1 ]; do # i end until [ "$i" -eq "$end" ];do result=$(ping -c 1 $ip$i | tail -2 | head -1 | awk '{print $4}') # - , if [ "$result" = 1 ]; then break fi let i++ done # =1 (- ) , #, =0 ( ) , if [ "$result" = 1 ]; then if [ $start = 1 ]; then # # , transmission-remote $tip -n $login:$password -t all -S speedlimit=1 # start=0 else if [ $speedlimit = 0 ]; then # , transmission-remote $tip -n $login:$password -t all -S speedlimit=1 fi fi fi if [ "$result" = 0 ]; then if [ $start = 1 ]; then # # , transmission-remote $tip -n $login:$password -t all -s speedlimit=0 # start=0 else if [ $speedlimit = 1 ]; then # , transmission-remote $tip -n $login:$password -t all -s speedlimit=0 fi fi fi # 30 sleep 30 i=$i0 done
#! /bin/sh ### BEGIN INIT INFO # Provides: tsl # Required-Start: $remote_fs $syslog $all # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Example initscript # Description: This file should be used to construct scripts to be # placed in /etc/init.d. ### END INIT INFO case "$1" in start) start-stop-daemon -Sbvx /usr/bin/tsl ;; stop) sudo pkill tsl ;; *) echo "Usage: /etc/init.d/tsl-deamon {start|stop}" ;; esac :
sudo chmod +x <bash_script_name>
update-rc.d <daemon_name> defaults
update-rc.d -f <daemon_name> remove
Source: https://habr.com/ru/post/166821/
All Articles