&quot;nice&quot; processes where applicable in your script:<br><br>$ nice -n 19 command<br><br>If rsync is available on both ends you can use rsync with a bandwidth limit over ssh:<br><br>$ rsync -av -e ssh --bwlimit=10 foo:src/bar/ /data/tmp<br>
<br><div class="gmail_quote">On Fri, Mar 21, 2008 at 11:52 PM, Michael Mol &lt;<a href="mailto:mikemol@gmail.com">mikemol@gmail.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="Wj3C7c">On Fri, Mar 21, 2008 at 11:07 PM, Tim Schmidt &lt;<a href="mailto:timschmidt@gmail.com">timschmidt@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; On Fri, Mar 21, 2008 at 10:47 PM, Michael Mol &lt;<a href="mailto:mikemol@gmail.com">mikemol@gmail.com</a>&gt; wrote:<br>
&gt; &nbsp;&gt; I run a site called Rosetta Code. &nbsp;It&#39;s a fairly active wiki, with<br>
&gt; &nbsp;&gt; &nbsp;around 500 edits per week and around 10,000 page views per week,<br>
&gt; &nbsp;&gt; &nbsp;sometimes more. &nbsp;Currently, the database weighs in at about 130MiB.<br>
&gt; &nbsp;&gt;<br>
&gt; &nbsp;&gt; &nbsp;Combined the database size, my shared hosting account at Bluehost, and<br>
&gt; &nbsp;&gt; &nbsp;my desire to do backups, and you get a problem. &nbsp;See, this evening I<br>
&gt; &nbsp;&gt; &nbsp;wrote a script that would run mysqldump on the database and save it to<br>
&gt; &nbsp;&gt; &nbsp;my home machine. &nbsp;Problem is, running mysqldump on that database on<br>
&gt; &nbsp;&gt; &nbsp;that server* causes sites to start spitting HTTP 500 errors, and my<br>
&gt; &nbsp;&gt; &nbsp;account gets suspended for a minute until the CPU utilization sliding<br>
&gt; &nbsp;&gt; &nbsp;window passes.<br>
&gt; &nbsp;&gt;<br>
&gt; &nbsp;&gt; &nbsp;* Bluehost has the MySQL server and Apache server on the same box for<br>
&gt; &nbsp;&gt; &nbsp;any given account.<br>
&gt; &nbsp;&gt;<br>
&gt; &nbsp;&gt; &nbsp;So I can&#39;t exactly automate it without taking down my site (and<br>
&gt; &nbsp;&gt; &nbsp;possibly many others) each time. &nbsp;I need to find different hosting for<br>
&gt; &nbsp;&gt; &nbsp;Rosetta Code. &nbsp;Preferably something that won&#39;t choke when I pull<br>
&gt; &nbsp;&gt; &nbsp;100+MB of data out of the database every morning over an SSH<br>
&gt; &nbsp;&gt; &nbsp;connection.<br>
&gt;<br>
&gt; &nbsp;You could pipe the mysqldump output through something to throttle<br>
&gt; &nbsp;it... &nbsp;bzip2 comes to mind, but that wouldn&#39;t lower your CPU<br>
&gt; &nbsp;utilization. &nbsp;Sure seems like something &lt; 5 lines of perl could get<br>
&gt; &nbsp;done though.<br>
<br>
</div></div>Well, it worked out to 10 lines, but here it is. &nbsp;I&#39;ll give it a try.<br>
<br>
#!/usr/bin/perl -w<br>
use strict;<br>
my $rate = 25*1024; # 25KB/s<br>
<br>
my $count = 0;<br>
do<br>
{<br>
 &nbsp; &nbsp; &nbsp; &nbsp;my $buf;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;$count = read STDIN, $buf, $rate;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;print $buf;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;sleep 1 if $count == $rate;<br>
} while( $count == $rate );<br>
<font color="#888888"><br>
<br>
--<br>
:wq<br>
</font><div><div></div><div class="Wj3C7c">_______________________________________________<br>
grlug mailing list<br>
<a href="mailto:grlug@grlug.org">grlug@grlug.org</a><br>
<a href="http://shinobu.grlug.org/cgi-bin/mailman/listinfo/grlug" target="_blank">http://shinobu.grlug.org/cgi-bin/mailman/listinfo/grlug</a><br>
</div></div></blockquote></div><br>