搜尋
首頁運維linux運維rsync隨機啟動腳本
rsync隨機啟動腳本Jul 13, 2017 pm 06:16 PM
rsync腳本隨機

服务端

 

<span style="color: #008080"> 1</span> #!/bin/<span style="color: #0000ff">sh</span>
<span style="color: #008080"> 2</span> # chkconfig: <span style="color: #800080">2345</span> <span style="color: #800080">21</span> <span style="color: #800080">60</span>
<span style="color: #008080"> 3</span> # description: Saves and restores system entropy pool <span style="color: #0000ff">for</span><span style="color: #000000"> \
</span><span style="color: #008080"> 4</span> <span style="color: #000000">#create by xiaohu
</span><span style="color: #008080"> 5</span> #<span style="color: #800080">2014.06</span>.<span style="color: #800080">02</span>
<span style="color: #008080"> 6</span> <span style="color: #000000">#This script is the Rsync service script
</span><span style="color: #008080"> 7</span> . /etc/init.d/<span style="color: #000000">functions
</span><span style="color: #008080"> 8</span> <span style="color: #0000ff">case</span> <span style="color: #800000">"</span><span style="color: #800000">$1</span><span style="color: #800000">"</span> <span style="color: #0000ff">in</span>
<span style="color: #008080"> 9</span> <span style="color: #000000">  start)
</span><span style="color: #008080">10</span>         <span style="color: #0000ff">echo</span> <span style="color: #800000">"</span><span style="color: #800000">rsync is starting</span><span style="color: #800000">"</span>
<span style="color: #008080">11</span>         /usr/local/rsyncd/bin/rsync --daemon --config=/etc/<span style="color: #000000">rsyncd.conf
</span><span style="color: #008080">12</span>         <span style="color: #0000ff">sleep</span> <span style="color: #800080">2</span>
<span style="color: #008080">13</span>         myport=`netstat -lnt|<span style="color: #0000ff">grep</span> <span style="color: #800080">873</span>|<span style="color: #0000ff">wc</span> -<span style="color: #000000">l`
</span><span style="color: #008080">14</span>         <span style="color: #0000ff">if</span> [ $myport -eq <span style="color: #800080">2</span><span style="color: #000000"> ]
</span><span style="color: #008080">15</span>         <span style="color: #0000ff">then</span>
<span style="color: #008080">16</span>         action <span style="color: #800000">"</span><span style="color: #800000">rsync start</span><span style="color: #800000">"</span>   /bin/<span style="color: #0000ff">true</span>
<span style="color: #008080">17</span>         <span style="color: #0000ff">else</span>
<span style="color: #008080">18</span>         action <span style="color: #800000">"</span><span style="color: #800000">rsync start</span><span style="color: #800000">"</span>   /bin/<span style="color: #0000ff">false</span>
<span style="color: #008080">19</span>         <span style="color: #0000ff">fi</span>
<span style="color: #008080">20</span> <span style="color: #000000">        ;;
</span><span style="color: #008080">21</span> <span style="color: #000000">  stop)
</span><span style="color: #008080">22</span>         <span style="color: #0000ff">echo</span> <span style="color: #800000">"</span><span style="color: #800000">rsync is stoping</span><span style="color: #800000">"</span>
<span style="color: #008080">23</span>         myport=`netstat -lnt|<span style="color: #0000ff">grep</span> <span style="color: #800080">873</span>|<span style="color: #0000ff">wc</span> -<span style="color: #000000">l`
</span><span style="color: #008080">24</span>         <span style="color: #0000ff">if</span> [ $myport -eq <span style="color: #800080">2</span><span style="color: #000000"> ]
</span><span style="color: #008080">25</span>         <span style="color: #0000ff">then</span> 
<span style="color: #008080">26</span>         <span style="color: #0000ff">killall</span> rsync &>/dev/<span style="color: #0000ff">null</span>
<span style="color: #008080">27</span>         <span style="color: #0000ff">sleep</span> <span style="color: #800080">2</span>
<span style="color: #008080">28</span>         <span style="color: #0000ff">killall</span> rsync &>/dev/<span style="color: #0000ff">null</span>
<span style="color: #008080">29</span>         <span style="color: #0000ff">sleep</span> <span style="color: #800080">1</span>
<span style="color: #008080">30</span>         <span style="color: #0000ff">fi</span>
<span style="color: #008080">31</span>         myport=`netstat -lnt|<span style="color: #0000ff">grep</span> <span style="color: #800080">873</span>|<span style="color: #0000ff">wc</span> -<span style="color: #000000">l`
</span><span style="color: #008080">32</span>         <span style="color: #0000ff">if</span> [ $myport -ne <span style="color: #800080">2</span><span style="color: #000000"> ]
</span><span style="color: #008080">33</span>         <span style="color: #0000ff">then</span>
<span style="color: #008080">34</span>         action <span style="color: #800000">"</span><span style="color: #800000">rsync stop</span><span style="color: #800000">"</span>   /bin/<span style="color: #0000ff">true</span>
<span style="color: #008080">35</span>         <span style="color: #0000ff">else</span>
<span style="color: #008080">36</span>         action <span style="color: #800000">"</span><span style="color: #800000">rsync stop</span><span style="color: #800000">"</span>   /bin/<span style="color: #0000ff">false</span>
<span style="color: #008080">37</span>         <span style="color: #0000ff">fi</span>
<span style="color: #008080">38</span> <span style="color: #000000">        ;;
</span><span style="color: #008080">39</span> <span style="color: #000000">  restart)
</span><span style="color: #008080">40</span>         <span style="color: #0000ff">if</span> [ `netstat -lnt|<span style="color: #0000ff">grep</span> <span style="color: #800080">873</span>|<span style="color: #0000ff">wc</span> -l` -eq <span style="color: #800080">0</span><span style="color: #000000"> ]
</span><span style="color: #008080">41</span>         <span style="color: #0000ff">then</span>
<span style="color: #008080">42</span>         /usr/local/rsyncd/bin/rsync --daemon --config=/etc/<span style="color: #000000">rsyncd.conf
</span><span style="color: #008080">43</span>         <span style="color: #0000ff">sleep</span> <span style="color: #800080">2</span>
<span style="color: #008080">44</span>         myport=`netstat -lnt|<span style="color: #0000ff">grep</span> <span style="color: #800080">873</span>|<span style="color: #0000ff">wc</span> -<span style="color: #000000">l`
</span><span style="color: #008080">45</span>         <span style="color: #0000ff">if</span> [ $myport -eq <span style="color: #800080">2</span><span style="color: #000000"> ]
</span><span style="color: #008080">46</span>         <span style="color: #0000ff">then</span>
<span style="color: #008080">47</span>         action <span style="color: #800000">"</span><span style="color: #800000">rsync restart</span><span style="color: #800000">"</span>   /bin/<span style="color: #0000ff">true</span>
<span style="color: #008080">48</span>         <span style="color: #0000ff">else</span>
<span style="color: #008080">49</span>         action <span style="color: #800000">"</span><span style="color: #800000">rsync restart</span><span style="color: #800000">"</span>   /bin/<span style="color: #0000ff">false</span>
<span style="color: #008080">50</span> <span style="color: #000000">        exit
</span><span style="color: #008080">51</span>         <span style="color: #0000ff">fi</span>
<span style="color: #008080">52</span>         <span style="color: #0000ff">else</span>
<span style="color: #008080">53</span>         <span style="color: #0000ff">killall</span> rsync &>/dev/<span style="color: #0000ff">null</span>
<span style="color: #008080">54</span>         <span style="color: #0000ff">sleep</span> <span style="color: #800080">2</span>
<span style="color: #008080">55</span>         <span style="color: #0000ff">killall</span> rsync &>/dev/<span style="color: #0000ff">null</span>
<span style="color: #008080">56</span>         <span style="color: #0000ff">sleep</span> <span style="color: #800080">1</span>
<span style="color: #008080">57</span>         /usr/local/rsyncd/bin/rsync --daemon --config=/etc/<span style="color: #000000">rsyncd.conf
</span><span style="color: #008080">58</span>         <span style="color: #0000ff">sleep</span> <span style="color: #800080">2</span>
<span style="color: #008080">59</span>         myport=`netstat -lnt|<span style="color: #0000ff">grep</span> <span style="color: #800080">873</span>|<span style="color: #0000ff">wc</span> -<span style="color: #000000">l`
</span><span style="color: #008080">60</span>         <span style="color: #0000ff">if</span> [ $myport -eq <span style="color: #800080">2</span><span style="color: #000000"> ]
</span><span style="color: #008080">61</span>         <span style="color: #0000ff">then</span>
<span style="color: #008080">62</span>         action <span style="color: #800000">"</span><span style="color: #800000">rsync restart</span><span style="color: #800000">"</span>   /bin/<span style="color: #0000ff">true</span>
<span style="color: #008080">63</span>         <span style="color: #0000ff">else</span>
<span style="color: #008080">64</span>         action <span style="color: #800000">"</span><span style="color: #800000">rsync restart</span><span style="color: #800000">"</span>   /bin/<span style="color: #0000ff">false</span>
<span style="color: #008080">65</span>         <span style="color: #0000ff">fi</span>
<span style="color: #008080">66</span>         <span style="color: #0000ff">fi</span>
<span style="color: #008080">67</span> <span style="color: #000000">        ;;
</span><span style="color: #008080">68</span> <span style="color: #000000">  status)
</span><span style="color: #008080">69</span>         myport=`netstat -lnt|<span style="color: #0000ff">grep</span> <span style="color: #800080">873</span>|<span style="color: #0000ff">wc</span> -<span style="color: #000000">l`
</span><span style="color: #008080">70</span>         <span style="color: #0000ff">if</span> [ $myport -eq <span style="color: #800080">2</span><span style="color: #000000"> ]
</span><span style="color: #008080">71</span>         <span style="color: #0000ff">then</span>
<span style="color: #008080">72</span>         <span style="color: #0000ff">echo</span>  <span style="color: #800000">"</span><span style="color: #800000">rsync is running</span><span style="color: #800000">"</span>
<span style="color: #008080">73</span>         <span style="color: #0000ff">else</span>
<span style="color: #008080">74</span>         <span style="color: #0000ff">echo</span> <span style="color: #800000">"</span><span style="color: #800000">rsync is stoped</span><span style="color: #800000">"</span>
<span style="color: #008080">75</span>         <span style="color: #0000ff">fi</span>
<span style="color: #008080">76</span> <span style="color: #000000">        ;;
</span><span style="color: #008080">77</span>   *<span style="color: #000000">)
</span><span style="color: #008080">78</span>         <span style="color: #0000ff">echo</span> $<span style="color: #800000">"</span><span style="color: #800000">Usage: $0 {start|stop|status|restart}</span><span style="color: #800000">"</span>
<span style="color: #008080">79</span> <span style="color: #000000">        ;;
</span><span style="color: #008080">80</span> <span style="color: #0000ff">esac</span>
View Code

 

 

客户端

 

<span style="color: #008080">  1</span> #! /bin/<span style="color: #0000ff">sh</span>
<span style="color: #008080">  2</span> 
<span style="color: #008080">  3</span> <span style="color: #000000">### BEGIN INIT INFO
</span><span style="color: #008080">  4</span> <span style="color: #000000"># Provides:          rsyncd
</span><span style="color: #008080">  5</span> # Required-<span style="color: #000000">Start:    $remote_fs $syslog
</span><span style="color: #008080">  6</span> # Required-<span style="color: #000000">Stop:     $remote_fs $syslog
</span><span style="color: #008080">  7</span> # Should-<span style="color: #000000">Start:      $named autofs
</span><span style="color: #008080">  8</span> # Default-Start:     <span style="color: #800080">2</span> <span style="color: #800080">3</span> <span style="color: #800080">4</span> <span style="color: #800080">5</span>
<span style="color: #008080">  9</span> # Default-<span style="color: #000000">Stop:      
</span><span style="color: #008080"> 10</span> # Short-Description: fast remote <span style="color: #0000ff">file</span><span style="color: #000000"> copy program daemon
</span><span style="color: #008080"> 11</span> <span style="color: #000000"># Description:       rsync is a program that allows files to be copied to and
</span><span style="color: #008080"> 12</span> #                    from remote machines <span style="color: #0000ff">in</span><span style="color: #000000"> much the same way as rcp.
</span><span style="color: #008080"> 13</span> <span style="color: #000000">#                    This provides rsyncd daemon functionality.
</span><span style="color: #008080"> 14</span> <span style="color: #000000">### END INIT INFO
</span><span style="color: #008080"> 15</span> 
<span style="color: #008080"> 16</span> set -<span style="color: #000000">e
</span><span style="color: #008080"> 17</span> 
<span style="color: #008080"> 18</span> # /etc/init.d/<span style="color: #000000">rsync: start and stop the rsync daemon
</span><span style="color: #008080"> 19</span> 
<span style="color: #008080"> 20</span> DAEMON=/usr/bin/<span style="color: #000000">rsync
</span><span style="color: #008080"> 21</span> RSYNC_ENABLE=<span style="color: #0000ff">false</span>
<span style="color: #008080"> 22</span> RSYNC_OPTS=<span style="color: #800000">''</span>
<span style="color: #008080"> 23</span> RSYNC_DEFAULTS_FILE=/etc/default/<span style="color: #000000">rsync
</span><span style="color: #008080"> 24</span> RSYNC_CONFIG_FILE=/etc/<span style="color: #000000">rsyncd.conf
</span><span style="color: #008080"> 25</span> RSYNC_PID_FILE=/var/run/<span style="color: #000000">rsync.pid
</span><span style="color: #008080"> 26</span> RSYNC_NICE_PARM=<span style="color: #800000">''</span>
<span style="color: #008080"> 27</span> RSYNC_IONICE_PARM=<span style="color: #800000">''</span>
<span style="color: #008080"> 28</span> 
<span style="color: #008080"> 29</span> test -x $DAEMON || exit <span style="color: #800080">0</span>
<span style="color: #008080"> 30</span> 
<span style="color: #008080"> 31</span> . /lib/lsb/init-<span style="color: #000000">functions
</span><span style="color: #008080"> 32</span> 
<span style="color: #008080"> 33</span> <span style="color: #0000ff">if</span> [ -s $RSYNC_DEFAULTS_FILE ]; <span style="color: #0000ff">then</span>
<span style="color: #008080"> 34</span> <span style="color: #000000">    . $RSYNC_DEFAULTS_FILE
</span><span style="color: #008080"> 35</span>     <span style="color: #0000ff">case</span> <span style="color: #800000">"</span><span style="color: #800000">x$RSYNC_ENABLE</span><span style="color: #800000">"</span> <span style="color: #0000ff">in</span>
<span style="color: #008080"> 36</span>     xtrue|<span style="color: #000000">xfalse)    ;;
</span><span style="color: #008080"> 37</span>     xinetd)        exit <span style="color: #800080">0</span>
<span style="color: #008080"> 38</span> <span style="color: #000000">            ;;
</span><span style="color: #008080"> 39</span>     *)        log_failure_msg <span style="color: #800000">"</span><span style="color: #800000">Value of RSYNC_ENABLE in $RSYNC_DEFAULTS_FILE must be either 'true' or 'false';</span><span style="color: #800000">"</span>
<span style="color: #008080"> 40</span>             log_failure_msg <span style="color: #800000">"</span><span style="color: #800000">not starting rsync daemon.</span><span style="color: #800000">"</span>
<span style="color: #008080"> 41</span>             exit <span style="color: #800080">1</span>
<span style="color: #008080"> 42</span> <span style="color: #000000">            ;;
</span><span style="color: #008080"> 43</span>     <span style="color: #0000ff">esac</span>
<span style="color: #008080"> 44</span>     <span style="color: #0000ff">case</span> <span style="color: #800000">"</span><span style="color: #800000">x$RSYNC_NICE</span><span style="color: #800000">"</span> <span style="color: #0000ff">in</span>
<span style="color: #008080"> 45</span>     x[<span style="color: #800080">0</span>-<span style="color: #800080">9</span>]|x1[<span style="color: #800080">0</span>-<span style="color: #800080">9</span>])    RSYNC_NICE_PARM=<span style="color: #800000">"</span><span style="color: #800000">--nicelevel $RSYNC_NICE</span><span style="color: #800000">"</span><span style="color: #000000">;;
</span><span style="color: #008080"> 46</span> <span style="color: #000000">    x)        ;;
</span><span style="color: #008080"> 47</span>     *)        log_warning_msg <span style="color: #800000">"</span><span style="color: #800000">Value of RSYNC_NICE in $RSYNC_DEFAULTS_FILE must be a value between 0 and 19 (inclusive);</span><span style="color: #800000">"</span>
<span style="color: #008080"> 48</span>             log_warning_msg <span style="color: #800000">"</span><span style="color: #800000">ignoring RSYNC_NICE now.</span><span style="color: #800000">"</span>
<span style="color: #008080"> 49</span> <span style="color: #000000">            ;;
</span><span style="color: #008080"> 50</span>     <span style="color: #0000ff">esac</span>
<span style="color: #008080"> 51</span>     <span style="color: #0000ff">case</span> <span style="color: #800000">"</span><span style="color: #800000">x$RSYNC_IONICE</span><span style="color: #800000">"</span> <span style="color: #0000ff">in</span>
<span style="color: #008080"> 52</span>     x-c[<span style="color: #800080">123</span>]*)    RSYNC_IONICE_PARM=<span style="color: #800000">"</span><span style="color: #800000">$RSYNC_IONICE</span><span style="color: #800000">"</span><span style="color: #000000">;;
</span><span style="color: #008080"> 53</span> <span style="color: #000000">    x)        ;;
</span><span style="color: #008080"> 54</span>     *)        log_warning_msg <span style="color: #800000">"</span><span style="color: #800000">Value of RSYNC_IONICE in $RSYNC_DEFAULTS_FILE must be -c1, -c2 or -c3;</span><span style="color: #800000">"</span>
<span style="color: #008080"> 55</span>             log_warning_msg <span style="color: #800000">"</span><span style="color: #800000">ignoring RSYNC_IONICE now.</span><span style="color: #800000">"</span>
<span style="color: #008080"> 56</span> <span style="color: #000000">            ;;
</span><span style="color: #008080"> 57</span>     <span style="color: #0000ff">esac</span>
<span style="color: #008080"> 58</span> <span style="color: #0000ff">fi</span>
<span style="color: #008080"> 59</span> 
<span style="color: #008080"> 60</span> export PATH=<span style="color: #800000">"</span><span style="color: #800000">${PATH:+$PATH:}/usr/sbin:/sbin</span><span style="color: #800000">"</span>
<span style="color: #008080"> 61</span> 
<span style="color: #008080"> 62</span> <span style="color: #000000">rsync_start() {
</span><span style="color: #008080"> 63</span>     <span style="color: #0000ff">if</span> [ ! -s <span style="color: #800000">"</span><span style="color: #800000">$RSYNC_CONFIG_FILE</span><span style="color: #800000">"</span> ]; <span style="color: #0000ff">then</span>
<span style="color: #008080"> 64</span>         log_failure_msg <span style="color: #800000">"</span><span style="color: #800000">missing or empty config file $RSYNC_CONFIG_FILE</span><span style="color: #800000">"</span>
<span style="color: #008080"> 65</span>         log_end_msg <span style="color: #800080">1</span>
<span style="color: #008080"> 66</span>         exit <span style="color: #800080">0</span>
<span style="color: #008080"> 67</span>     <span style="color: #0000ff">fi</span>
<span style="color: #008080"> 68</span>     # See ionice(<span style="color: #800080">1</span><span style="color: #000000">)
</span><span style="color: #008080"> 69</span>     <span style="color: #0000ff">if</span> [ -n <span style="color: #800000">"</span><span style="color: #800000">$RSYNC_IONICE_PARM</span><span style="color: #800000">"</span> ] && [ -x /usr/bin/ionice ] &&
<span style="color: #008080"> 70</span>         /usr/bin/ionice <span style="color: #800000">"</span><span style="color: #800000">$RSYNC_IONICE_PARM</span><span style="color: #800000">"</span> <span style="color: #0000ff">true</span> <span style="color: #800080">2</span>>/dev/<span style="color: #0000ff">null</span>; <span style="color: #0000ff">then</span>
<span style="color: #008080"> 71</span>         /usr/bin/ionice <span style="color: #800000">"</span><span style="color: #800000">$RSYNC_IONICE_PARM</span><span style="color: #800000">"</span> -p$$ > /dev/<span style="color: #0000ff">null</span> <span style="color: #800080">2</span>>&<span style="color: #800080">1</span>
<span style="color: #008080"> 72</span>     <span style="color: #0000ff">fi</span>
<span style="color: #008080"> 73</span>     <span style="color: #0000ff">if</span> start-stop-daemon --start --quiet --<span style="color: #000000">background \
</span><span style="color: #008080"> 74</span>         --pidfile $RSYNC_PID_FILE --<span style="color: #0000ff">make</span>-<span style="color: #000000">pidfile \
</span><span style="color: #008080"> 75</span>         $RSYNC_NICE_PARM --<span style="color: #000000">exec $DAEMON \
</span><span style="color: #008080"> 76</span>         -- --no-detach --daemon --config <span style="color: #800000">"</span><span style="color: #800000">$RSYNC_CONFIG_FILE</span><span style="color: #800000">"</span><span style="color: #000000"> $RSYNC_OPTS
</span><span style="color: #008080"> 77</span>     <span style="color: #0000ff">then</span>
<span style="color: #008080"> 78</span>         rc=<span style="color: #800080">0</span>
<span style="color: #008080"> 79</span>         <span style="color: #0000ff">sleep</span> <span style="color: #800080">1</span>
<span style="color: #008080"> 80</span>         <span style="color: #0000ff">if</span> ! <span style="color: #0000ff">kill</span> -<span style="color: #800080">0</span> $(<span style="color: #0000ff">cat</span> $RSYNC_PID_FILE) >/dev/<span style="color: #0000ff">null</span> <span style="color: #800080">2</span>>&<span style="color: #800080">1</span>; <span style="color: #0000ff">then</span>
<span style="color: #008080"> 81</span>             log_failure_msg <span style="color: #800000">"</span><span style="color: #800000">rsync daemon failed to start</span><span style="color: #800000">"</span>
<span style="color: #008080"> 82</span>             rc=<span style="color: #800080">1</span>
<span style="color: #008080"> 83</span>         <span style="color: #0000ff">fi</span>
<span style="color: #008080"> 84</span>     <span style="color: #0000ff">else</span>
<span style="color: #008080"> 85</span>         rc=<span style="color: #800080">1</span>
<span style="color: #008080"> 86</span>     <span style="color: #0000ff">fi</span>
<span style="color: #008080"> 87</span>     <span style="color: #0000ff">if</span> [ $rc -eq <span style="color: #800080">0</span> ]; <span style="color: #0000ff">then</span>
<span style="color: #008080"> 88</span>         log_end_msg <span style="color: #800080">0</span>
<span style="color: #008080"> 89</span>     <span style="color: #0000ff">else</span>
<span style="color: #008080"> 90</span>         log_end_msg <span style="color: #800080">1</span>
<span style="color: #008080"> 91</span>         <span style="color: #0000ff">rm</span> -<span style="color: #000000">f $RSYNC_PID_FILE
</span><span style="color: #008080"> 92</span>     <span style="color: #0000ff">fi</span>
<span style="color: #008080"> 93</span> <span style="color: #000000">} # rsync_start
</span><span style="color: #008080"> 94</span> 
<span style="color: #008080"> 95</span> 
<span style="color: #008080"> 96</span> <span style="color: #0000ff">case</span> <span style="color: #800000">"</span><span style="color: #800000">$1</span><span style="color: #800000">"</span> <span style="color: #0000ff">in</span>
<span style="color: #008080"> 97</span> <span style="color: #000000">  start)
</span><span style="color: #008080"> 98</span>     <span style="color: #0000ff">if</span> <span style="color: #800000">"</span><span style="color: #800000">$RSYNC_ENABLE</span><span style="color: #800000">"</span>; <span style="color: #0000ff">then</span>
<span style="color: #008080"> 99</span>         log_daemon_msg <span style="color: #800000">"</span><span style="color: #800000">Starting rsync daemon</span><span style="color: #800000">"</span> <span style="color: #800000">"</span><span style="color: #800000">rsync</span><span style="color: #800000">"</span>
<span style="color: #008080">100</span>         <span style="color: #0000ff">if</span> [ -s $RSYNC_PID_FILE ] && <span style="color: #0000ff">kill</span> -<span style="color: #800080">0</span> $(<span style="color: #0000ff">cat</span> $RSYNC_PID_FILE) >/dev/<span style="color: #0000ff">null</span> <span style="color: #800080">2</span>>&<span style="color: #800080">1</span>; <span style="color: #0000ff">then</span>
<span style="color: #008080">101</span>         log_progress_msg <span style="color: #800000">"</span><span style="color: #800000">apparently already running</span><span style="color: #800000">"</span>
<span style="color: #008080">102</span>         log_end_msg <span style="color: #800080">0</span>
<span style="color: #008080">103</span>         exit <span style="color: #800080">0</span>
<span style="color: #008080">104</span>         <span style="color: #0000ff">fi</span>
<span style="color: #008080">105</span> <span style="color: #000000">            rsync_start
</span><span style="color: #008080">106</span>         <span style="color: #0000ff">else</span>
<span style="color: #008080">107</span>             <span style="color: #0000ff">if</span> [ -s <span style="color: #800000">"</span><span style="color: #800000">$RSYNC_CONFIG_FILE</span><span style="color: #800000">"</span> ]; <span style="color: #0000ff">then</span>
<span style="color: #008080">108</span>                 [ <span style="color: #800000">"</span><span style="color: #800000">$VERBOSE</span><span style="color: #800000">"</span> != no ] && log_warning_msg <span style="color: #800000">"</span><span style="color: #800000">rsync daemon not enabled in $RSYNC_DEFAULTS_FILE, not starting...</span><span style="color: #800000">"</span>
<span style="color: #008080">109</span>             <span style="color: #0000ff">fi</span>
<span style="color: #008080">110</span>     <span style="color: #0000ff">fi</span>
<span style="color: #008080">111</span> <span style="color: #000000">    ;;
</span><span style="color: #008080">112</span> <span style="color: #000000">  stop)
</span><span style="color: #008080">113</span>     log_daemon_msg <span style="color: #800000">"</span><span style="color: #800000">Stopping rsync daemon</span><span style="color: #800000">"</span> <span style="color: #800000">"</span><span style="color: #800000">rsync</span><span style="color: #800000">"</span>
<span style="color: #008080">114</span>     start-stop-daemon --stop --quiet --oknodo --<span style="color: #000000">pidfile $RSYNC_PID_FILE
</span><span style="color: #008080">115</span>     log_end_msg $?
<span style="color: #008080">116</span>     <span style="color: #0000ff">rm</span> -<span style="color: #000000">f $RSYNC_PID_FILE
</span><span style="color: #008080">117</span> <span style="color: #000000">    ;;
</span><span style="color: #008080">118</span> 
<span style="color: #008080">119</span>   reload|force-<span style="color: #000000">reload)
</span><span style="color: #008080">120</span>     log_warning_msg <span style="color: #800000">"</span><span style="color: #800000">Reloading rsync daemon: not needed, as the daemon</span><span style="color: #800000">"</span>
<span style="color: #008080">121</span>     log_warning_msg <span style="color: #800000">"</span><span style="color: #800000">re-reads the config file whenever a client connects.</span><span style="color: #800000">"</span>
<span style="color: #008080">122</span> <span style="color: #000000">    ;;
</span><span style="color: #008080">123</span> 
<span style="color: #008080">124</span> <span style="color: #000000">  restart)
</span><span style="color: #008080">125</span>     set +<span style="color: #000000">e
</span><span style="color: #008080">126</span>     <span style="color: #0000ff">if</span> $RSYNC_ENABLE; <span style="color: #0000ff">then</span>
<span style="color: #008080">127</span>         log_daemon_msg <span style="color: #800000">"</span><span style="color: #800000">Restarting rsync daemon</span><span style="color: #800000">"</span> <span style="color: #800000">"</span><span style="color: #800000">rsync</span><span style="color: #800000">"</span>
<span style="color: #008080">128</span>         <span style="color: #0000ff">if</span> [ -s $RSYNC_PID_FILE ] && <span style="color: #0000ff">kill</span> -<span style="color: #800080">0</span> $(<span style="color: #0000ff">cat</span> $RSYNC_PID_FILE) >/dev/<span style="color: #0000ff">null</span> <span style="color: #800080">2</span>>&<span style="color: #800080">1</span>; <span style="color: #0000ff">then</span>
<span style="color: #008080">129</span>         start-stop-daemon --stop --quiet --oknodo --pidfile $RSYNC_PID_FILE || <span style="color: #0000ff">true</span>
<span style="color: #008080">130</span>         <span style="color: #0000ff">sleep</span> <span style="color: #800080">1</span>
<span style="color: #008080">131</span>         <span style="color: #0000ff">else</span>
<span style="color: #008080">132</span>         log_warning_msg <span style="color: #800000">"</span><span style="color: #800000">rsync daemon not running, attempting to start.</span><span style="color: #800000">"</span>
<span style="color: #008080">133</span>             <span style="color: #0000ff">rm</span> -<span style="color: #000000">f $RSYNC_PID_FILE
</span><span style="color: #008080">134</span>         <span style="color: #0000ff">fi</span>
<span style="color: #008080">135</span> <span style="color: #000000">            rsync_start
</span><span style="color: #008080">136</span>         <span style="color: #0000ff">else</span>
<span style="color: #008080">137</span>             <span style="color: #0000ff">if</span> [ -s <span style="color: #800000">"</span><span style="color: #800000">$RSYNC_CONFIG_FILE</span><span style="color: #800000">"</span> ]; <span style="color: #0000ff">then</span>
<span style="color: #008080">138</span>                 [ <span style="color: #800000">"</span><span style="color: #800000">$VERBOSE</span><span style="color: #800000">"</span> != no ] && log_warning_msg <span style="color: #800000">"</span><span style="color: #800000">rsync daemon not enabled in $RSYNC_DEFAULTS_FILE, not starting...</span><span style="color: #800000">"</span>
<span style="color: #008080">139</span>             <span style="color: #0000ff">fi</span>
<span style="color: #008080">140</span>     <span style="color: #0000ff">fi</span>
<span style="color: #008080">141</span> <span style="color: #000000">    ;;
</span><span style="color: #008080">142</span> 
<span style="color: #008080">143</span> <span style="color: #000000">  status)
</span><span style="color: #008080">144</span>     status_of_proc -p $RSYNC_PID_FILE <span style="color: #800000">"</span><span style="color: #800000">$DAEMON</span><span style="color: #800000">"</span><span style="color: #000000"> rsync
</span><span style="color: #008080">145</span>     exit $?    # notreached due to set -<span style="color: #000000">e
</span><span style="color: #008080">146</span> <span style="color: #000000">    ;;
</span><span style="color: #008080">147</span>   *<span style="color: #000000">)
</span><span style="color: #008080">148</span>     <span style="color: #0000ff">echo</span> <span style="color: #800000">"</span><span style="color: #800000">Usage: /etc/init.d/rsync {start|stop|reload|force-reload|restart|status}</span><span style="color: #800000">"</span>
<span style="color: #008080">149</span>     exit <span style="color: #800080">1</span>
<span style="color: #008080">150</span> <span style="color: #0000ff">esac</span>
<span style="color: #008080">151</span> 
<span style="color: #008080">152</span> exit <span style="color: #800080">0</span>
View Code

 

 


开机自动启动rsync

1. 扔脚本进去/etc/init.d/


2. 授权
chmod +x rsync


3. 一旦抛出:binsh^M错误就执行编码改写
设置dos统一编码
(请看rsync脚本抛出binsh^M bad interpreter文档)


4. 添加到服务
chkconfig --add ningx


5. 随机启动脚本带动rsync开机启动
chkconfig --level 2345 rsync on

 

 


 

执行脚本时发现如下错误:
/bin/sh^M: bad interpreter: 没有那个文件或目录

错误分析:
因为操作系统是windows,我在windows下编辑的脚本,所以有可能有不可见字符。
脚本文件是DOS格式的, 即每一行的行尾以\n\r来标识, 其ASCII码分别是0x0D, 0x0A.

可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的

解决方法:
vim filename
然后用命令
:set ff? #可以看到dos或unix的字样. 如果的确是dos格式的。


然后用
:set ff=unix #把它强制为unix格式的, 然后存盘退出。
再次运行脚本。

 

以上是rsync隨機啟動腳本的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
每5分钟执行一次的Python脚本每5分钟执行一次的Python脚本Sep 10, 2023 pm 03:33 PM

自动化和任务调度在简化软件开发中的重复任务方面发挥着至关重要的作用。想象一下,有一个Python脚本需要每5分钟执行一次,例如从API获取数据、执行数据处理或发送定期更新。如此频繁地手动运行脚本可能非常耗时并且容易出错。这就是任务调度的用武之地。在这篇博文中,我们将探讨如何安排Python脚本每5分钟执行一次,确保它自动运行而无需手动干预。我们将讨论可用于实现此目标的不同方法和库,使您能够有效地自动化任务。使用time.sleep()函数每5分钟运行一次Python脚本的一种简单方法是利用tim

Python脚本关闭计算机Python脚本关闭计算机Aug 29, 2023 am 08:01 AM

在当今快节奏的数字世界中,能够自动执行计算机任务可以极大地提高生产力和便利性。其中一项任务是关闭计算机,如果手动完成,这可能会非常耗时。值得庆幸的是,Python为我们提供了一套强大的工具来与系统交互并自动执行此类任务。在这篇博文中,我们将探讨如何编写Python脚本来轻松关闭计算机。无论您是想安排自动关机、远程启动关机,还是只是通过避免手动关机来节省时间,此脚本都会派上用场。导入所需的模块在开始编写脚本之前,我们需要导入必要的模块,以便与系统交互并执行关闭命令。在本节中,我们将导入os模块(它

Python 脚本打包 exe,auto-py-to-exe 来帮你!Python 脚本打包 exe,auto-py-to-exe 来帮你!Apr 13, 2023 pm 04:49 PM

一. 什么是auto-py-to-exeauto-py-to-exe 是一个用于将Python程序打包成可执行文件的图形化工具。本文就是主要介绍如何使用 auto-py-to-exe 完成 python 程序打包。auto-py-to-exe 基于 pyinstaller ,相比于 pyinstaller ,它多了 GUI 界面,用起来更为简单方便二. 安装 auto-py-to-exe首先我们要确保我们的 python 环境要大于或等于 2.7 然后在 cmd 里面输入:pip install

Python脚本重启计算机Python脚本重启计算机Sep 08, 2023 pm 05:21 PM

重新启动计算机是一项常见任务,我们经常执行此任务来解决问题、安装更新或应用系统更改。虽然重新启动计算机的方法有很多种,但使用Python脚本可以提供自动化和便利性。在本文中,我们将探讨如何创建一个可以通过简单执行来重新启动计算机的Python脚本。我们将首先讨论重新启动计算机的重要性及其带来的好处。然后,我们将深入研究Python脚本的实现细节,解释所涉及的必要模块和功能。在整篇文章中,我们将提供详细的解释和代码片段,以确保清晰的理解。重新启动计算机的重要性重新启动计算机是基本的故障排除步骤,可

超硬核!11个非常实用的 Python 和 Shell 拿来就用脚本实例!超硬核!11个非常实用的 Python 和 Shell 拿来就用脚本实例!Apr 12, 2023 pm 01:52 PM

Python 脚本部分实例:企业微信告警、FTP 客户端、SSH 客户端、Saltstack 客户端、vCenter 客户端、获取域名 ssl 证书过期时间、发送今天的天气预报以及未来的天气趋势图;Shell 脚本部分实例:SVN 完整备份、Zabbix 监控用户密码过期、构建本地 YUM 以及上篇文章中有读者的需求(负载高时,查出占用比较高的进程脚本并存储或推送通知);篇幅有些长,还请大家耐心翻到文末,毕竟有彩蛋。Python 脚本部分企业微信告警此脚本通过企业微信应用,进行微信告警,可用于

五个方便好用的Python自动化脚本五个方便好用的Python自动化脚本Apr 11, 2023 pm 07:31 PM

相比大家都听过自动化生产线、自动化办公等词汇,在没有人工干预的情况下,机器可以自己完成各项任务,这大大提升了工作效率。编程世界里有各种各样的自动化脚本,来完成不同的任务。尤其Python非常适合编写自动化脚本,因为它语法简洁易懂,而且有丰富的第三方工具库。这次我们使用Python来实现几个自动化场景,或许可以用到你的工作中。1、自动化阅读网页新闻这个脚本能够实现从网页中抓取文本,然后自动化语音朗读,当你想听新闻的时候,这是个不错的选择。代码分为两大部分,第一通过爬虫抓取网页文本呢,第二通过阅读工

nginx+rsync+inotify怎么配置实现负载均衡nginx+rsync+inotify怎么配置实现负载均衡May 11, 2023 pm 03:37 PM

实验环境前端nginx:ip192.168.6.242,对后端的wordpress网站做反向代理实现复杂均衡后端nginx:ip192.168.6.36,192.168.6.205都部署wordpress,并使用相同的数据库1、在后端的两个wordpress上配置rsync+inotify,两服务器都开启rsync服务,并且通过inotify分别向对方同步数据下面配置192.168.6.205这台服务器vim/etc/rsyncd.confuid=nginxgid=nginxport=873ho

用Python写游戏脚本原来这么简单用Python写游戏脚本原来这么简单Apr 13, 2023 am 10:04 AM

前言最近在玩儿公主连结,之前也玩儿过阴阳师这样的游戏,这样的游戏都会有个初始号这样的东西,或者说是可以肝的东西。当然,作为一名程序员,肝这种东西完全可以用写代码的方式帮我们自动完成。游戏脚本其实并不高深,最简单的体验方法就是下载一个Airtest了,直接截几个图片,写几层代码,就可以按照自己的逻辑玩儿游戏了。当然,本篇文章不是要讲Airtest这个怎么用,而是用原始的python+opencv来实现上面的操作。这两天我写了一个公主连结刷初始号的程序,也不能算写游戏脚本的老手,这篇文章主要是分享一

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器