{"id":334,"date":"2011-12-12T16:41:09","date_gmt":"2011-12-12T16:41:09","guid":{"rendered":"http:\/\/blog.trungson.com\/?p=334"},"modified":"2011-12-12T16:41:09","modified_gmt":"2011-12-12T16:41:09","slug":"autossh-init-d-script","status":"publish","type":"post","link":"http:\/\/blog.trungson.com\/?p=334","title":{"rendered":"Autossh init.d script"},"content":{"rendered":"<p>In this init.d script for autossh in CentOS, I use puppet to replace the param &#8220;pAutoSSHParams&#8221;, which could be something like this:<\/p>\n<p>&#8220;-M 0 -f -N -L 3307:127.0.0.1:3306 -p 22 user@host&#8221;<\/p>\n<p>File: \/etc\/init.d\/autossh<\/p>\n<p>Run: service autossh start\/stop<\/p>\n<p>#!\/bin\/sh<br \/>\n#<br \/>\n# autossh &#8211; Startup script for autossh<\/p>\n<p># chkconfig: 2345 20 80<br \/>\n# description: Maintain a persistent SSH tunneling<br \/>\n# processname: autossh<br \/>\n# pidfile: \/var\/run\/autossh.pid<\/p>\n<p># @since 2011-12-11 08:18:47<br \/>\n# @author Son Nguyen<br \/>\n# Managed by Puppet so do not modify manually<\/p>\n<p># Source function library<br \/>\n. \/etc\/rc.d\/init.d\/functions<\/p>\n<p>prog=&#8221;autossh&#8221;<br \/>\nautossh=&#8221;\/usr\/bin\/autossh&#8221;<br \/>\nRETVAL=0<\/p>\n<p>start() {<br \/>\necho -n $&#8221;Starting $prog: &#8221;<br \/>\n# http:\/\/www.jbmurphy.com\/2011\/04\/29\/autossh-on-centos\/<br \/>\nAUTOSSH_PIDFILE=\/var\/run\/autossh.pid<br \/>\nif [ ! -e $AUTOSSH_PIDFILE ]; then<br \/>\nAUTOSSH_PIDFILE=$AUTOSSH_PIDFILE;export AUTOSSH_PIDFILE<br \/>\ndaemon $autossh &lt;%= pAutoSSHParams %&gt;<br \/>\nRETVAL=$?<br \/>\nelse<br \/>\nRETVAL=1<br \/>\necho_failure<br \/>\nfi<br \/>\necho<br \/>\n[ $RETVAL -eq 0 ] &amp;&amp; touch \/var\/lock\/subsys\/$prog<br \/>\nreturn $RETVAL<br \/>\n}<\/p>\n<p>stop() {<br \/>\necho -n $&#8221;Stopping $prog: &#8221;<br \/>\nkillproc $autossh<br \/>\nRETVAL=$?<br \/>\necho<br \/>\n[ $RETVAL -eq 0 ] &amp;&amp; rm -f \/var\/lock\/subsys\/$prog<br \/>\nreturn $RETVAL<br \/>\n}<\/p>\n<p>case &#8220;$1&#8243; in<br \/>\nstart)<br \/>\nstart<br \/>\n;;<br \/>\nstop)<br \/>\nstop<br \/>\n;;<br \/>\nrestart)<br \/>\nstop<br \/>\nstart<br \/>\n;;<br \/>\nstatus)<br \/>\nstatus $autossh<br \/>\nRETVAL=$?<br \/>\n;;<br \/>\n*)<br \/>\necho $&#8221;Usage: $0 {start|stop|restart|status}&#8221;<br \/>\nRETVAL=1<br \/>\nesac<\/p>\n<p>exit $RETVAL<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this init.d script for autossh in CentOS, I use puppet to replace the param &#8220;pAutoSSHParams&#8221;, which could be something like this: &#8220;-M 0 -f -N -L 3307:127.0.0.1:3306 -p 22 user@host&#8221; File: \/etc\/init.d\/autossh Run: service autossh start\/stop #!\/bin\/sh # # autossh &#8211; Startup script for autossh # chkconfig: 2345 20 80 # description: Maintain a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.trungson.com\/index.php?rest_route=\/wp\/v2\/posts\/334"}],"collection":[{"href":"http:\/\/blog.trungson.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.trungson.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.trungson.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.trungson.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=334"}],"version-history":[{"count":1,"href":"http:\/\/blog.trungson.com\/index.php?rest_route=\/wp\/v2\/posts\/334\/revisions"}],"predecessor-version":[{"id":335,"href":"http:\/\/blog.trungson.com\/index.php?rest_route=\/wp\/v2\/posts\/334\/revisions\/335"}],"wp:attachment":[{"href":"http:\/\/blog.trungson.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.trungson.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=334"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.trungson.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}