commit
					12f0d2ae82
				
				 39 changed files with 1115 additions and 0 deletions
			
			
		@ -0,0 +1,5 @@
				@@ -0,0 +1,5 @@
					 | 
				
			||||
# Ignore the renderd site | 
				
			||||
/site/ | 
				
			||||
 | 
				
			||||
# Ignore the photo's | 
				
			||||
/photo/*/*.jpg | 
				
			||||
@ -0,0 +1,10 @@
				@@ -0,0 +1,10 @@
					 | 
				
			||||
 | 
				
			||||
----------------------------------------------------------------------------------- | 
				
			||||
                                 © R.P. Neeleman | 
				
			||||
----------------------------------------------------------------------------------- | 
				
			||||
 | 
				
			||||
      </pre> | 
				
			||||
    </td></tr></table> | 
				
			||||
  </body> | 
				
			||||
 | 
				
			||||
</html> | 
				
			||||
@ -0,0 +1,10 @@
				@@ -0,0 +1,10 @@
					 | 
				
			||||
<html> | 
				
			||||
  <head> | 
				
			||||
    <title>Sciuro.org</title> | 
				
			||||
  </head> | 
				
			||||
 | 
				
			||||
  <body bgcolor='0066FF' text='white' link='white' vlink='white'> | 
				
			||||
    <table><tr><td width=82> | 
				
			||||
      <pre> | 
				
			||||
  <a href='__SITEURL__/index.html'>Home</a>  |  <a href='__SITEURL__/blog/index.html'>Blog</a>  |  <a href='__SITEURL__/photo/index.html'>Photo's</a>  |  <a href='__SITEURL__/howto/index.html'>Howto</a>  |  <a href='__SITEURL__/servers/index.html'>Servers</a>  |  <a href='__SITEURL__/links.html'>Links</a>  |  <a href='__SITEURL__/about.html'>About</a>  |  <a href='__SITEURL__/contact.html'>Contact</a> | 
				
			||||
----------------------------------------------------------------------------------- | 
				
			||||
@ -0,0 +1,2 @@
				@@ -0,0 +1,2 @@
					 | 
				
			||||
                             \ <a href='__SITEURL__/servers/index.html'>Layout</a>  |  <a href='__SITEURL__/servers/status.html'>Status</a>   |  <a href='__SITEURL__/servers/graph.html'>Graphs</a> / | 
				
			||||
                              +-----------------------------+ | 
				
			||||
@ -0,0 +1,24 @@
				@@ -0,0 +1,24 @@
					 | 
				
			||||
<b>About</b> | 
				
			||||
<img src='__SITEURL__/images/foto_me.jpg' align='right'> | 
				
			||||
My name is Rogier, or Roger as most non-dutch speakers | 
				
			||||
will prefer. I am a 33 year old computer engineer, | 
				
			||||
living in The Netherlands. | 
				
			||||
 | 
				
			||||
Besides being a computer nerd, I spend my time with | 
				
			||||
Scouting, Geocaching, hiking and biking. And sometimes | 
				
			||||
climbing and skiing. | 
				
			||||
 | 
				
			||||
<b>The name Sciuro</b> | 
				
			||||
The name Sciuro is a nickname I got from some Swiss | 
				
			||||
scouts. In Switserland it's common to give every scout | 
				
			||||
a nickname and they came up with the nickname Sciuro. | 
				
			||||
It's pronounced as t.si.uro and meaning 'squirrel' in | 
				
			||||
Esperanto. If you don't know what esperanto is, <a href='http://s.sciuro.org/zcm6w' target='new'>here</a> | 
				
			||||
is an explaination. | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
@ -0,0 +1,6 @@
				@@ -0,0 +1,6 @@
					 | 
				
			||||
<b>Geek and Poke</b> | 
				
			||||
 | 
				
			||||
I found a new cartoon. It's a couple of years old, but is a very good one! | 
				
			||||
Especially for computer geeks. Made by Oliver Widder, an IT-guy from Hamburg, | 
				
			||||
Germany. Look for his cartoons on <a href='http://geek-and-poke.com/' target=new>http://geek-and-poke.com/</a>. | 
				
			||||
 | 
				
			||||
@ -0,0 +1,56 @@
				@@ -0,0 +1,56 @@
					 | 
				
			||||
<b>Can't assign requested address</b> | 
				
			||||
 | 
				
			||||
Using Mac OS X 10.9 (Mavericks) I noticed that my browser wasn't working. Except | 
				
			||||
some sites like google. Almost nothing works anymore. Except IPV6 connections. | 
				
			||||
There was no problem with that. Also incomming connections on IPV4 like SSH or | 
				
			||||
VNC works. | 
				
			||||
 | 
				
			||||
So I tried to connect from the terminal: | 
				
			||||
 | 
				
			||||
  imac:~ rogier$ telnet www.nu.nl 80 | 
				
			||||
  Trying 62.69.174.78... | 
				
			||||
  telnet: connect to address 62.69.174.78: Can't assign requested address | 
				
			||||
  Trying 62.69.166.18... | 
				
			||||
  telnet: connect to address 62.69.166.18: Can't assign requested address | 
				
			||||
  Trying 62.69.166.15... | 
				
			||||
  telnet: connect to address 62.69.166.15: Can't assign requested address | 
				
			||||
  Trying 62.69.174.75... | 
				
			||||
  telnet: connect to address 62.69.174.75: Can't assign requested address | 
				
			||||
  telnet: Unable to connect to remote host | 
				
			||||
 | 
				
			||||
No connection possible. So what went wrong? | 
				
			||||
 | 
				
			||||
The netstat -a gives me really a lot of "CLOSED" connections. That could not be a | 
				
			||||
good sign. After some digging on the internet I came to an article on the Apple | 
				
			||||
discussion list about this problem. It turns out that there is (probably) a bug | 
				
			||||
in Mavericks. It gives you a lot of LAST_ACK connections. You can check your | 
				
			||||
connection state with the following command: | 
				
			||||
 | 
				
			||||
  netstat -n | egrep '^(tcp|udp)' | awk '{print $NF}' | psort | 
				
			||||
 | 
				
			||||
If you do the same for IPV6, you get a whole different situation: | 
				
			||||
 | 
				
			||||
  netstat -l | 
				
			||||
 | 
				
			||||
It turns out that after 20 to 25 days, something went very very wrong inside your | 
				
			||||
mac. The only thing that will help is rebooting the whole system. Looking at my | 
				
			||||
own system, I rebooted 24 day's ago. | 
				
			||||
 | 
				
			||||
  imac:~ rogier$ last reboot | 
				
			||||
  reboot ~ Sun Jan 12 11:15 | 
				
			||||
  reboot ~ Thu Dec 19 10:53 | 
				
			||||
  reboot ~ Wed Dec 11 08:31 | 
				
			||||
  reboot ~ Sat Dec 7 09:56 | 
				
			||||
  reboot ~ Fri Dec 6 07:24 | 
				
			||||
  reboot ~ Thu Dec 5 14:31 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
Anyone a solution? | 
				
			||||
 | 
				
			||||
Update: A temporary solution could be: Thanks <a href='http://nslog.com/2013/12/14/lost_internet_connection' target=new>Erik J. Barzeski</a> | 
				
			||||
 | 
				
			||||
  sudo ifconfig en0 down | 
				
			||||
  sudo route flush | 
				
			||||
  sudo ifconfig en0 up | 
				
			||||
 | 
				
			||||
More information: <a href='https://discussions.apple.com/thread/5551686' target=new>https://discussions.apple.com/thread/5551686</a> | 
				
			||||
@ -0,0 +1,33 @@
				@@ -0,0 +1,33 @@
					 | 
				
			||||
<b>Plotting users on facebook</b> | 
				
			||||
 | 
				
			||||
I was playing with Munin, the "network resource monitoring tool". But you can also | 
				
			||||
plot other things than CPU usage or network traffic. As long as you can capture it | 
				
			||||
in a value. | 
				
			||||
 | 
				
			||||
My default chat application is not facebook, but IRC. To chat with facebook users, | 
				
			||||
I use a ZNC bouncer together with Bitlbee. | 
				
			||||
 | 
				
			||||
   +---------+    +---------+    +---------+    +---------+ | 
				
			||||
   |         |    |         |    |         |    |         | | 
				
			||||
   | Client  |--->| ZNC     |--->| Bitlbee |--->| Facebook| | 
				
			||||
   | (me)    |    | (log)   |    |         |    |         | | 
				
			||||
   +---------+    +---------+    +---------+    +---------+ | 
				
			||||
 | 
				
			||||
The ZNC bouncer is logging the users coming and going to the channel when they | 
				
			||||
use facebook. I used the Munin plugin "loggrep_" with the next config on that | 
				
			||||
logfile: | 
				
			||||
 | 
				
			||||
  [loggrep_facebook] | 
				
			||||
    user rogier | 
				
			||||
    env.regex localhost sets mode | 
				
			||||
    env.label Facebook users | 
				
			||||
    env.logfile /home/rogier/.znc/users/rogier/moddata/log/facebook.log | 
				
			||||
    env.title User count on facebook | 
				
			||||
 | 
				
			||||
So I filter the logfile for the text "localhost sets mode" because when a user | 
				
			||||
came online, he get's a +v from bitlbee. After a while, you will get the next | 
				
			||||
graph. | 
				
			||||
 | 
				
			||||
<center> | 
				
			||||
<img src='http://noc.sciuro.org/munin/sciuro.org/irc.sciuro.org/loggrep_facebook-week.png'> | 
				
			||||
</center> | 
				
			||||
@ -0,0 +1,20 @@
				@@ -0,0 +1,20 @@
					 | 
				
			||||
<b>A new text based website</b> | 
				
			||||
 | 
				
			||||
Yes, a new text based website! After some time without a website, with a website | 
				
			||||
based on a CMS, and with some 'almost finished' websites, I feel the need to make | 
				
			||||
a website with the following criteria: | 
				
			||||
 | 
				
			||||
-Fast | 
				
			||||
-Simple | 
				
			||||
-Logica during generating | 
				
			||||
 | 
				
			||||
I found jekyll, but it took me to much time to learn and I ran into some simple | 
				
			||||
problems. So I made my own CMS like environment. At this moment written in Bash. | 
				
			||||
Maybe in the future (Ugh) I will rewrite it in Python, but till then I got a | 
				
			||||
working solution. | 
				
			||||
 | 
				
			||||
It relies on a script, a directory structure and some text files. Nothing more. | 
				
			||||
The script is looking through the directories for text files and reorder,  | 
				
			||||
combine and replace the files for the website itself. | 
				
			||||
 | 
				
			||||
I hope this one will work a little bit longer. :-) | 
				
			||||
@ -0,0 +1,10 @@
				@@ -0,0 +1,10 @@
					 | 
				
			||||
<b>Contact</b> | 
				
			||||
 | 
				
			||||
You can reach me as follows: | 
				
			||||
 | 
				
			||||
<b>E-Mail:</b>  <a href='mailto:info@sciuro.org'>info@sciuro.org</a> | 
				
			||||
<b>IRC:</b>     Sciuro on FreeNode, IRCNet, EFNet and Scoutlink | 
				
			||||
<b>Twitter:</b> <a href='http://www.twitter.com/sciuro_nl' target=new>Sciuro_NL</a> | 
				
			||||
<b>ICQ:</b>     17135284 | 
				
			||||
 | 
				
			||||
<b>GPG</b>:     You can find my pgp/gpg key <a href='__SITEURL__/files/pgp.txt'>here</a> | 
				
			||||
@ -0,0 +1,90 @@
				@@ -0,0 +1,90 @@
					 | 
				
			||||
-----BEGIN PGP PUBLIC KEY BLOCK----- | 
				
			||||
Version: GnuPG/MacGPG2 v2.0.22 (Darwin) | 
				
			||||
Comment: GPGTools - https://gpgtools.org | 
				
			||||
 | 
				
			||||
mQINBE0QogsBEAC0lOSbIiSL3rBwLnr6PbWIJ5u4R0GxhlRPmkx70JYsZdDQ2iIi | 
				
			||||
g63AAPHXoI4ihw+Xn3fljqbFCCdgr/ySuzLQvzX23V3m4bWKXxDTsbjQlDWOVvIN | 
				
			||||
rwrxd8VlGPI9oDfEJpeHgR2T8ZBiFAfq/RG/vZrRjFCXnvLXdk+JSlfnFRLuen9h | 
				
			||||
vC6niyhqQs4RKIEcz8XTK91xrZkWRfYRmcNc9um0aKDG5iTnrFfx7GN7u6P/UloI | 
				
			||||
iaj9n4QpkxdPGc0gj4xM92Gv09YiDc6jRIM2hTjXd1A5AL/TdwY4c3OLMYUsFAM0 | 
				
			||||
LWheAsBFmhNRJF1K57JYLlaG6/o7jkHSlehNhT8w3sEe3TGVubPXy5okDN85FNZI | 
				
			||||
mQw+ywBrvn+m+TnQf+3pXbzUM/txhiGmpxQGTtWK5C9X9qfCRy1w2g01Y03SWwdH | 
				
			||||
k6oqae8FY0jF0ADt1pE7IfqfNv1iyT/jxdA92VE1//QaJJfFyDsQDurgFHtvLcVU | 
				
			||||
BrAAfZK1fOBihcwoWNRsoBtoikxNBW45vyrmExNCis/4VYVWu/EZbhfhtorHHFxv | 
				
			||||
cP29sbV90HluvfyRQfQrP1g9XcD//JmCDRJXhK60iChHk6Uvge1D5hDNHzp+9p7m | 
				
			||||
GTM6y/a/5WzBSbJ5w4F97s3akP79T6Sp1OXLy0s9RDsnsEwPPk3U+9BOwwARAQAB | 
				
			||||
tCNSb2dpZXIgTmVlbGVtYW4gPHJvZ2llckBzY2l1cm8ub3JnPokCPAQTAQIAJgIb | 
				
			||||
LwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheABQJSYRmsAhkBAAoJEOrOnIs6RiYV | 
				
			||||
9dQP/RB6ormiFcJgsQjo7pXO0QchvDPa8tgFmYbVMYymeHV5XkE097Hjm8GOr1df | 
				
			||||
t/0fvT3ierxSxK+6VrVw8Y71Ws5zqwszpdo8eL1Rl/3Z0Bn3quN6FjcEo/F/1+ps | 
				
			||||
AvWZubxuK+qcvDHTVjRptazmmZHY72niNDWIAbN2T0ANUwCyp2KvMk2E77lDm4yI | 
				
			||||
B7n443W9l0mSgG9/Dci91f6MI8e5ViK7GLWdFnz+yhSoGK9HRPNrlspL7KJtGOsy | 
				
			||||
0ANtyD7Fg3l5t+B6lSYUUurAIlqgIQ+zZIKerSXJ8AHLHUnfW87c27mcOePnhPDQ | 
				
			||||
D0lPkOV+1wrMcplNaw0zdRpND8U2D3sNrzkMF+JUDZMKgmVa6xmTS5jA34L5M5di | 
				
			||||
ETRf00uSLxrENOTywJMkKujZ40Vmo9FKex1MWpYAPdGaiprIti47hKJJfLSbW71X | 
				
			||||
MkV+QNWnzRiSP3P/k+GxueTuZr8V++V838c4RzGWBnDT262yVaWMj+14nJKmMUWb | 
				
			||||
KbysU+QsLwresY0yImqiI1mWMgQkg8EJRkq3IgwcSrszxmKMEkm6n5f71irWv+uE | 
				
			||||
8Jp8EsStyZE+qyhT7gE8KaspTKkh8LzbBquxITP6pBmEVruxA8BdMdPSqDiqZIyr | 
				
			||||
9PykE7HTHv0fh1F9PwQVasauIBBEVwf//EWnYViwPfBk9Hk3tCVSb2dpZXIgTmVl | 
				
			||||
bGVtYW4gPHJvZ2llckBuZWVsZW1hbi5iaXo+iQI4BBMBAgAiAhsvBgsJCAcDAgYV | 
				
			||||
CAIJCgsEFgIDAQIeAQIXgAUCUmEZrAAKCRDqzpyLOkYmFRF1D/47C1HDEF1qCgGE | 
				
			||||
44p2EAFjzLLCayy9hs+WfUkDauoz3poVFO8oRN3S2WSlTYjZvNapK9QjOTukTKn3 | 
				
			||||
PXaQ4+Lbq8MCG6OR5cI8cjKGXNQmGYOE0LyzDLA//kMe3d3GFn1nyK06Urk32s8M | 
				
			||||
BfKZwZqYDI0NG5JtQrQfZGpko7v68/5sWRI8e0jBIAs2ZVUdccSfu4Jky2ZMzqZ9 | 
				
			||||
XfReCPr4JC0RWlVXzbu2KUht92/hBbluUUsPFx0Jsi+4IcEx/6sHs2vot6WPeTDQ | 
				
			||||
fwjQDYVPshCP6mdT5NOry6HJaDb1R/MxJr28avye3UvqdCcSmg6E1Q9d8pwjhCEG | 
				
			||||
uLuQyPiMQM+9IAYJ+3+z68fXuoIfTtbsR4kXkDWcAZwKZeGQ/D89+ofZ/qWPSS1r | 
				
			||||
AiO1M9vbGOzElCtSHER3ioFr+IHY3sPOqI3lNRDnF205FKdr8j/QG97LvCkMD9IE | 
				
			||||
KT2E8vV+gzufdsROygx5Bi1qjGVyutvw3JsSD10GG5iLgtmBZkvwHNZq43XjCDK8 | 
				
			||||
pn+G9qd42Qu36i7UNvrJRp6VvK4qqj8d6s5J02ajheeU3O5OE229Z1n+RWL04QVJ | 
				
			||||
7UJdaEaKzDzxCEq70mP348Er5DPR8/6ImTVFP9PBxd51yIyxgwi9TUEBX2KS/IkR | 
				
			||||
p55HKnpRllRdKEu+XfrgnszSxYLLvbQkUm9naWVyIE5lZWxlbWFuIDxyb2dpZXJA | 
				
			||||
c2NvdXRuZXQubmw+iQI5BBMBAgAjBQJQsOyGAhsvBwsJCAcDAgEGFQgCCQoLBBYC | 
				
			||||
AwECHgECF4AACgkQ6s6cizpGJhVB0A/8Dzo9CR05o75S3e8VT7rmOoSz0tw4KH9u | 
				
			||||
GsR+bnzjoBjhOHBeYijrcJTuru4i0YoLUmM+CgNAOz/ZAoj/6XzWzUs1ZgwJC6h5 | 
				
			||||
Kgnid37PL3bARov/XAHPnCJuBQV+oeVt5QoCN0+9Ks8ZLCTntwbupVbbWJPudfyC | 
				
			||||
sS5w+p2G9QyHawIEBvQBzHQY94GIlbH3/2yElUmW4GT4dfbHQg8eJoN/l6oOfRnU | 
				
			||||
eBXMWqVSdKTEVT6prX4TzKwgQXVfc6JQvs2+bHg6vjXf4BT/gODf7kFwkH1tSZi9 | 
				
			||||
7RENmaEXKYqT3wzdLlN7woD15zMa7R43fvbYfrHCK09mtaORVObEPYL15WVE1iDU | 
				
			||||
b8MPQrkl4UKECizhR6toYhIy4FZePve2IaBCtK0sc5FJpdWg8j3DrVNlnfTimo96 | 
				
			||||
ZdtPal2abHxAXRZ+/mhixDYcd/qW+m+6pLYjbR+h/H2sX/b172mUlanlRgdGz3YG | 
				
			||||
gFoHowFSR7rJF2Fcws7Y5WRfAseEwnOnotdS034+PQCeKhdWgA4tYG4M63sXN9Yf | 
				
			||||
Bmzz1jp854c+G2qTxQ1f3S7XOPBmIltmmmVFM43oegQi/JjuWPGbctKFU0LourO4 | 
				
			||||
t/dyCFr7jUKvm260WzrLF3xa2iSAemRsSYtl4NQaWylVbtQdYaj6GzTbMTEUADVW | 
				
			||||
8zzxx7PZx+W5Ag0ETRCiCwEQAP1KIZJlcp2IeQOdant8ztx+CkyX2wlmSqlMtHRS | 
				
			||||
yUuJdpIaX6D4iQ5+IgvthcQw3V1XnI7sklrXSxp0nT0Urbx370cI1lnuj+Lg+Gwr | 
				
			||||
cAUYEaR153x6OsD+8JArGIg5sZ45Z4AYHOlEvJEi8ngRxSYYVRh1ubc8WERqJYol | 
				
			||||
tj30vKxTalZQpL+fS0pzASikUvoQyhvP50mcOgIZIe0PDooFBFX2dwxvJryk0EGK | 
				
			||||
/VH4By7qfQ12XXp/v6FUot0ToBF7O1mh4jyrNJgMxk1FmT6tKL/rQ4PWH0n5QPFv | 
				
			||||
WB5glxnK8ezxD1UJ9m+ACK6ZzndSxWcDApdSyBw7QHo6cGRijf1HTE7S9TB8jWQo | 
				
			||||
yYWBiJkkVHHhLCD+rxWRbSp50OpVSdKJtB1u6EsIxp3IZR4pEvskYZjxM5D9fPcM | 
				
			||||
da5pYpWF+yrup641lYXoEdqH4DAPVOLYwTMTy77Cr/HWZw8TdAaqEszB9xgT/Fmb | 
				
			||||
FbQ3/tE1mXfK4MEa374t4GqU8OrNaGMpRaq5iZeVZH/mV7fX/fw6kavljrBRGIUw | 
				
			||||
HViZbpVCZh7Lo5WlCdGUW1FnRvJJCNxlxkyJzJn8eHXqJeGNsUx/OZX6plAEydRZ | 
				
			||||
DqoojSJE5NxeziTtt5qvizFucAlZjP0kyonqJtjAkvHdSuTARUaKcmFQakq1rR/O | 
				
			||||
2jtZABEBAAGJBD4EGAECAAkFAk0QogsCGy4CKQkQ6s6cizpGJhXBXSAEGQECAAYF | 
				
			||||
Ak0QogsACgkQnS+R97VwsxiwXhAA0qEoipMorqCblcrr5E3js/7bZy9rKb3t6h3l | 
				
			||||
ia2Q8aw26dPN4snL8/H7Iu4RiVyu/Hf+xq0+DN+K/szmnjfKhj/zBjezW48qyZuB | 
				
			||||
U8BXAqrA9VopdLG4N+sbdFsEXrZRHfjlrYNMpuM868GHSQOEs1pLZd1lOCSpw+gK | 
				
			||||
LC4mtcDcQPQhpBFh/dOLKfKA8VXrXjE+1yrUxyejXkNuggsDP7ybpY2NYKpC4ixD | 
				
			||||
/ESRvtch7SRF9VsvCxndcccHPW/IAegqTmzr7xMSUxzo+/UVOA/dH+Sc934AKzUV | 
				
			||||
/FNiIwNny8EC+h77aM6Yx+4otALIgvW1t+dtMjFeWPHiPEmLRD05/3xOZiRCo3fF | 
				
			||||
fR3EzLvhxte47aqXG588VpJ/qglDEXatyaX5omFiQiqTgBpmLG0NTcgsGPIvozrr | 
				
			||||
57l8PRDYKSToRoUYd90Xgzu41qhua56CGlH2Lo2fMHoS1als3dThFSwyPf00RK2o | 
				
			||||
6vRHe79soLz00kIaWVek9jIpgewms8IngugD3QMlwJGmxfpJ1put5Wo1+eRVB2iF | 
				
			||||
qAxXIdlKQte3jNkLVvZjfyNVL4xCT6bMHFCOJ6Gx5e2z/vbjBS1qcLWgz4QH5yz4 | 
				
			||||
+OCa97thP6YrM0HPTBEHjbKOHb+sai7I/PX+EjobhJNh3s6Yjl/BrvczOShMEDK7 | 
				
			||||
Id5CWfYJpg//bcZ7254wp1KEJT7i+/LVHQSkieBo/ZwuvhrFz9owKUldaFcZBo8R | 
				
			||||
2vwycnQWUWC6ODzzz6Blkews86dplDs906DA7OlKRpbfcgDABsyk7u6FgjeRcsQQ | 
				
			||||
JiTpDcZmilYIFkFIOe7nJyZDPP3g+dFWvXEZa2S4rhNaTA0zCsiKHU8ZOPEWzlcp | 
				
			||||
rZ5wIZLTvzcMjLDAAM21q2nC4Klz1NZxjEnZfM52dcT+mSGaVYS54wauSmyNyhiK | 
				
			||||
pVs4YfpriODrlDJqeiXlYsAGGgY4lqo0pe6Natx0h9WXhM10J5inGtjJFylGLIRW | 
				
			||||
jFKSkFYaTnk8AwwwgYayJHlJS78wgzOjE0e2GCUouqx6e+K7HvWwH8KNEhSGGCV8 | 
				
			||||
avNPRgCXZw93b6nrE1lXEsLanvvolIcBcfE8RONlTEpFOM2smJHL2oBzabO94F2s | 
				
			||||
8IXOJL4hdl4RtYmI8h6WiSw1WI7qiNobhjCArNqpDdIAq2GQrNSyLSTOy1cCX3pE | 
				
			||||
a6Tp3AgUeg5Z3yYxBa8MOA3w6MFFXyoiwh4Qq/ZgkaXUKaiTCphjGnyz85RftqR6 | 
				
			||||
cCZVk1tyzDCxqP2F66JhxHrZrrAuYaacqH17tKL1L/yW5QD2R3Wvdl/IlmbXjBU/ | 
				
			||||
+aMyd0ecur2sE0/BD+X8dfuQLxIkc+LtZsodw9+GSlnlZmtluTKvTKU= | 
				
			||||
=OyHW | 
				
			||||
-----END PGP PUBLIC KEY BLOCK----- | 
				
			||||
 | 
				
			||||
@ -0,0 +1,209 @@
				@@ -0,0 +1,209 @@
					 | 
				
			||||
#!/bin/bash | 
				
			||||
 | 
				
			||||
# Variables | 
				
			||||
SITEURL="/newsite" | 
				
			||||
LAYOUT=_layout | 
				
			||||
SITE=site | 
				
			||||
EXTRA='images scripts files' | 
				
			||||
SERVERS='314.sciuro.org chip.sciuro.org skippy.sciuro.org slappy.sciuro.org irc.sciuro.org lists.laurentiusgroep.nl' | 
				
			||||
 | 
				
			||||
# Prereq | 
				
			||||
mkdir -p $SITE | 
				
			||||
 | 
				
			||||
# Root pagina's | 
				
			||||
rm -rf $SITE/*.html | 
				
			||||
for i in `ls *.txt`; do | 
				
			||||
  FILENAME=`echo $i |cut -d\. -f1` | 
				
			||||
  cat $LAYOUT/header.html >> $SITE/$FILENAME.html | 
				
			||||
  cat $i >> $SITE/$FILENAME.html | 
				
			||||
  cat $LAYOUT/footer.html >> $SITE/$FILENAME.html | 
				
			||||
done | 
				
			||||
 | 
				
			||||
# Server directory | 
				
			||||
mkdir -p $SITE/servers/ | 
				
			||||
rm -rf $SITE/servers/*.html | 
				
			||||
 | 
				
			||||
for i in `ls servers/*.txt`; do | 
				
			||||
  FILENAME=`echo $i |cut -d\. -f1` | 
				
			||||
  cat $LAYOUT/header.html >> $SITE/$FILENAME.html | 
				
			||||
  cat $LAYOUT/servers.html >> $SITE/$FILENAME.html | 
				
			||||
  cat $i >> $SITE/$FILENAME.html | 
				
			||||
  cat $LAYOUT/footer.html >> $SITE/$FILENAME.html | 
				
			||||
done | 
				
			||||
 | 
				
			||||
for i in $SERVERS; do | 
				
			||||
  HNAME=`echo $i | cut -d\. -f1` | 
				
			||||
  DNAME=`echo $i | cut -d\. -f2,3 --output-delimiter=\.` | 
				
			||||
  FILENAME=servers/graph-$HNAME | 
				
			||||
  cat $LAYOUT/header.html >> $SITE/$FILENAME.html | 
				
			||||
  cat $LAYOUT/servers.html >> $SITE/$FILENAME.html | 
				
			||||
  cat servers/graph.txt >> $SITE/$FILENAME.html | 
				
			||||
  echo "" >> $SITE/$FILENAME.html | 
				
			||||
  echo "<center>" >> $SITE/$FILENAME.html | 
				
			||||
  echo "<img src='http://noc.sciuro.org/munin/$DNAME/$i/cpu-day.png'>" >> $SITE/$FILENAME.html | 
				
			||||
  echo "<img src='http://noc.sciuro.org/munin/$DNAME/$i/memory-day.png'>" >> $SITE/$FILENAME.html | 
				
			||||
  echo "<img src='http://noc.sciuro.org/munin/$DNAME/$i/if_eth0-day.png'>" >> $SITE/$FILENAME.html | 
				
			||||
  echo "</center>" >> $SITE/$FILENAME.html | 
				
			||||
  cat $LAYOUT/footer.html >> $SITE/$FILENAME.html | 
				
			||||
done | 
				
			||||
 | 
				
			||||
# Howto directory | 
				
			||||
mkdir -p $SITE/howto/ | 
				
			||||
rm -rf $SITE/howto/*.html | 
				
			||||
 | 
				
			||||
cat $LAYOUT/header.html >> $SITE/howto/index.html | 
				
			||||
echo "<b>Howto's</b>" >> $SITE/howto/index.html | 
				
			||||
echo "" >> $SITE/howto/index.html | 
				
			||||
echo "Some howto's I wrote. If something is wrong, or you need help, please send me" >> $SITE/howto/index.html | 
				
			||||
echo "a message." >> $SITE/howto/index.html | 
				
			||||
echo "" >> $SITE/howto/index.html | 
				
			||||
for i in `ls howto/*.txt`; do | 
				
			||||
  FILENAME=`echo $i |cut -d\. -f1` | 
				
			||||
  HTT=`echo $FILENAME |cut -d\/ -f2` | 
				
			||||
  echo "-<a href='__SITEURL__/$FILENAME.html'>$HTT</a>" >> $SITE/howto/index.html | 
				
			||||
done | 
				
			||||
cat $LAYOUT/footer.html >> $SITE/howto/index.html | 
				
			||||
 | 
				
			||||
for i in `ls howto/*.txt`; do | 
				
			||||
  FILENAME=`echo $i |cut -d\. -f1` | 
				
			||||
  cat $LAYOUT/header.html >> $SITE/$FILENAME.html | 
				
			||||
  cat $i >> $SITE/$FILENAME.html | 
				
			||||
  MODTIME=`date -r $i +%A\ %B%e\ %Y,\ %R` | 
				
			||||
  echo "" >> $SITE/$FILENAME.html | 
				
			||||
  echo "<a href='mailto:react@sciuro.org?SUBJECT=$FILENAME'>React to Howto</a>" >> $SITE/$FILENAME.html | 
				
			||||
  echo "Last modification: $MODTIME" >> $SITE/$FILENAME.html | 
				
			||||
  cat $LAYOUT/footer.html >> $SITE/$FILENAME.html | 
				
			||||
done | 
				
			||||
 | 
				
			||||
# Blog pages | 
				
			||||
mkdir -p $SITE/blog/ | 
				
			||||
rm -rf $SITE/blog/*.html | 
				
			||||
 | 
				
			||||
cat $LAYOUT/header.html >> $SITE/blog/index.html | 
				
			||||
echo "<b>Blog</b>" >> $SITE/blog/index.html | 
				
			||||
for i in `ls -r blog/*.txt`; do | 
				
			||||
  FILENAME=`echo $i |cut -d\. -f1` | 
				
			||||
  BTITLE=`echo $FILENAME |cut -d\/ -f2 |cut -b12-` | 
				
			||||
  BFILEDATE=`echo $FILENAME |cut -d\/ -f2 |cut -b-10` | 
				
			||||
  CURMONTH=`date -d$BFILEDATE +%B\ %Y` | 
				
			||||
  if [ "$CURMONTH" != "$LASTMONTH" ]; then | 
				
			||||
    LASTMONTH=$CURMONTH | 
				
			||||
    echo "" >> $SITE/blog/index.html | 
				
			||||
    echo "$CURMONTH" >> $SITE/blog/index.html | 
				
			||||
  fi | 
				
			||||
  echo "-<a href='__SITEURL__/$FILENAME.html'>$BTITLE</a>" >> $SITE/blog/index.html | 
				
			||||
done | 
				
			||||
cat $LAYOUT/footer.html >> $SITE/blog/index.html | 
				
			||||
 | 
				
			||||
for i in `ls blog/*.txt`; do | 
				
			||||
  FILENAME=`echo $i |cut -d\. -f1` | 
				
			||||
  cat $LAYOUT/header.html >> $SITE/$FILENAME.html | 
				
			||||
  BFILEDATE=`echo $FILENAME |cut -d\/ -f2 |cut -b-10` | 
				
			||||
  BDATE=`date -d$BFILEDATE +%A\ %B\ %e\ %Y` | 
				
			||||
  echo $BDATE >> $SITE/$FILENAME.html | 
				
			||||
  echo "" >> $SITE/$FILENAME.html | 
				
			||||
  cat $i >> $SITE/$FILENAME.html | 
				
			||||
  BLOGID=`echo $FILENAME |cut -d\/ -f2` | 
				
			||||
  echo "" >> $SITE/$FILENAME.html | 
				
			||||
  echo "<a href='mailto:react@sciuro.org?SUBJECT=$BLOGID'>React to blog</a>" >> $SITE/$FILENAME.html | 
				
			||||
  cat $LAYOUT/footer.html >> $SITE/$FILENAME.html | 
				
			||||
done | 
				
			||||
 | 
				
			||||
# Photo pages | 
				
			||||
mkdir -p $SITE/photo/ | 
				
			||||
rm -rf $SITE/photo/*.html | 
				
			||||
 | 
				
			||||
cat $LAYOUT/header.html >> $SITE/photo/index.html | 
				
			||||
echo "<b>Photo's</b>" >> $SITE/photo/index.html | 
				
			||||
for i in `ls -r photo/*.txt`; do | 
				
			||||
  FILENAME=`echo $i |cut -d\. -f1` | 
				
			||||
  PTITLE=`echo $FILENAME |cut -d\/ -f2 |cut -b12-` | 
				
			||||
  PFILEDATE=`echo $FILENAME |cut -d\/ -f2 |cut -b-10` | 
				
			||||
  CURMONTH=`date -d$PFILEDATE +%B\ %Y` | 
				
			||||
  if [ "$CURMONTH" != "$LASTMONTH" ]; then | 
				
			||||
    LASTMONTH=$CURMONTH | 
				
			||||
    echo "" >> $SITE/photo/index.html | 
				
			||||
    echo "$CURMONTH" >> $SITE/photo/index.html | 
				
			||||
  fi | 
				
			||||
  echo "-<a href='__SITEURL__/$FILENAME.html'>$PTITLE</a>" >> $SITE/photo/index.html | 
				
			||||
done | 
				
			||||
cat $LAYOUT/footer.html >> $SITE/photo/index.html | 
				
			||||
 | 
				
			||||
for i in `ls photo/*.txt`; do | 
				
			||||
  FILENAME=`echo $i |cut -d\. -f1` | 
				
			||||
  BFILEDATE=`echo $FILENAME |cut -d\/ -f2 |cut -b-10` | 
				
			||||
  BDATE=`date -d$BFILEDATE +%A\ %B\ %e\ %Y` | 
				
			||||
  BLOGID=`echo $FILENAME |cut -d\/ -f2` | 
				
			||||
  DIRNAME=`echo $FILENAME |cut -d\/ -f2` | 
				
			||||
 | 
				
			||||
  mkdir -p $SITE/$FILENAME/normal/ | 
				
			||||
  mkdir -p $SITE/$FILENAME/thumbs/ | 
				
			||||
  #rm -rf $SITE/$FILENAME/thumbs/*.jpg | 
				
			||||
  rm -rf $SITE/photo/$DIRNAME/*.html | 
				
			||||
 | 
				
			||||
  cat $LAYOUT/header.html >> $SITE/$FILENAME.html | 
				
			||||
  cat $i >> $SITE/$FILENAME.html | 
				
			||||
  echo "" >> $SITE/$FILENAME.html | 
				
			||||
  echo $BDATE >> $SITE/$FILENAME.html | 
				
			||||
  echo "" >> $SITE/$FILENAME.html | 
				
			||||
 | 
				
			||||
  echo "<center><table border='0'>" >> $SITE/$FILENAME.html | 
				
			||||
  T=0 | 
				
			||||
  rename 'y/A-Z/a-z/' $FILENAME/* | 
				
			||||
  for j in `ls $FILENAME/*.jpg`; do | 
				
			||||
    if [ $T == '0' ]; then | 
				
			||||
      echo "<tr><td>" >> $SITE/$FILENAME.html | 
				
			||||
      T=$((T+1)) | 
				
			||||
    elif [ $T == '5' ]; then | 
				
			||||
      echo "</td></tr><tr><td>" >> $SITE/$FILENAME.html | 
				
			||||
      T=1 | 
				
			||||
    else | 
				
			||||
      echo "</td><td>" >> $SITE/$FILENAME.html | 
				
			||||
      T=$((T+1)) | 
				
			||||
    fi | 
				
			||||
 | 
				
			||||
    IMAGENAME=`echo $j |cut -d\/ -f3` | 
				
			||||
    if [ ! -f $SITE/photo/$DIRNAME/thumbs/$IMAGENAME ]; then | 
				
			||||
      convert -resize 120 photo/$DIRNAME/$IMAGENAME $SITE/photo/$DIRNAME/thumbs/$IMAGENAME | 
				
			||||
    fi | 
				
			||||
 | 
				
			||||
    if [ ! -f $SITE/photo/$DIRNAME/normal/$IMAGENAME ]; then | 
				
			||||
      convert -resize 480 photo/$DIRNAME/$IMAGENAME $SITE/photo/$DIRNAME/normal/$IMAGENAME | 
				
			||||
    fi | 
				
			||||
 | 
				
			||||
    NAME=`echo $IMAGENAME |cut -d\. -f1` | 
				
			||||
 | 
				
			||||
    echo "<a href='__SITEURL__/photo/$DIRNAME/$NAME.html'><img src='__SITEURL__/photo/$DIRNAME/thumbs/$IMAGENAME' width=120px></a>" >> $SITE/$FILENAME.html | 
				
			||||
 | 
				
			||||
    # Picture page | 
				
			||||
 | 
				
			||||
    cat $LAYOUT/header.html >> $SITE/photo/$DIRNAME/$NAME.html | 
				
			||||
    cat $i >> $SITE/photo/$DIRNAME/$NAME.html | 
				
			||||
    echo "" >> $SITE/photo/$DIRNAME/$NAME.html | 
				
			||||
    echo $BDATE >> $SITE/photo/$DIRNAME/$NAME.html | 
				
			||||
    echo "" >> $SITE/photo/$DIRNAME/$NAME.html | 
				
			||||
    echo "<center><a href='__SITEURL__/$FILENAME.html'>index</a></center>" >> $SITE/photo/$DIRNAME/$NAME.html | 
				
			||||
    echo "<center><img src='__SITEURL__/photo/$DIRNAME/normal/$IMAGENAME' width=480px></center>" >> $SITE/photo/$DIRNAME/$NAME.html | 
				
			||||
    cat $LAYOUT/footer.html >> $SITE/photo/$DIRNAME/$NAME.html | 
				
			||||
 | 
				
			||||
  done | 
				
			||||
 | 
				
			||||
  echo "</table></center>" >> $SITE/$FILENAME.html | 
				
			||||
 | 
				
			||||
  cat $LAYOUT/footer.html >> $SITE/$FILENAME.html | 
				
			||||
done | 
				
			||||
 | 
				
			||||
 | 
				
			||||
# Other directories | 
				
			||||
for i in $EXTRA; do | 
				
			||||
  rm -rf $SITE/$i | 
				
			||||
  cp -a $i $SITE/$i | 
				
			||||
done | 
				
			||||
 | 
				
			||||
# Replace variables | 
				
			||||
for i in `find $SITE/ -name *.html`; do | 
				
			||||
  sed -i 's/__SITEURL__/\/newsite/g' $i | 
				
			||||
done | 
				
			||||
 | 
				
			||||
# Publish | 
				
			||||
rsync --delete --recursive $SITE/* 314:/usr/share/mini-httpd/html/newsite/ | 
				
			||||
@ -0,0 +1,24 @@
				@@ -0,0 +1,24 @@
					 | 
				
			||||
<b>Always the same error during restarting apache</b> | 
				
			||||
 | 
				
			||||
If you restart your Apache webserver, you could get the following error message: | 
				
			||||
 | 
				
			||||
  Could not reliably determine the server's fully qualified domain name, | 
				
			||||
  using 127.0.0.1 for ServerName | 
				
			||||
 | 
				
			||||
The reason is because your netwerk is not completly setup properly. | 
				
			||||
 | 
				
			||||
-Check if your hostname is set in /etc/hostname | 
				
			||||
-Check if your domainname is set in /etc/resolv.conf | 
				
			||||
 | 
				
			||||
And the final trick: Put in your /etc/hosts file the next line: | 
				
			||||
 | 
				
			||||
  IP-addres fully-quallified-hostname small-hostname | 
				
			||||
 | 
				
			||||
Do not swap the fully-quallified-hostname and the small-hostname, because Apache | 
				
			||||
only looks at the first entry and that one should be the fully quallified hostname | 
				
			||||
 | 
				
			||||
So for example, for me it will become: | 
				
			||||
 | 
				
			||||
  192.168.1.1 scrat.sciuro.org scrat | 
				
			||||
 | 
				
			||||
Restart your apache and the message is gone. | 
				
			||||
@ -0,0 +1,49 @@
				@@ -0,0 +1,49 @@
					 | 
				
			||||
<b>Proxy HTTP requests in Apache 2.2 with mod_proxy and mod_balancer</b> | 
				
			||||
 | 
				
			||||
You can actually use an Apache web server as a front web server to proxy | 
				
			||||
specified requests to other web servers. For example to load balance your backend | 
				
			||||
servers or to make a failover system in case of an failure. Yes, we are talking | 
				
			||||
about high availability! | 
				
			||||
 | 
				
			||||
<b>Simple</b> | 
				
			||||
First enable the modules mod_proxy and mod_proxy_http. Now we can do a simple | 
				
			||||
request forward. Of course we use a Debian system, so to enable the proxy modules | 
				
			||||
we will do: | 
				
			||||
 | 
				
			||||
  a2enmod proxy proxy_http | 
				
			||||
  /etc/init.d/apache2 restart | 
				
			||||
 | 
				
			||||
Now we can make use of the proxy capabilities of Apache. Put the next part in | 
				
			||||
your virtual host or any other place. | 
				
			||||
 | 
				
			||||
  ProxyPass /application http://servername:port/somethingelse/ | 
				
			||||
  ProxyPassReverse /application http://servername:port/somethingelse/ | 
				
			||||
 | 
				
			||||
<b>Loadbalance and/or failover</b> | 
				
			||||
For this part we need some more modules. So we enable them. You can also enable | 
				
			||||
the ftp and ajp connectors if you need them. It's exactly the same as with the | 
				
			||||
mod_proxy_http. | 
				
			||||
 | 
				
			||||
  a2enmod proxy proxy_http proxy_balancer | 
				
			||||
  /etc/init.d/apache2 restart | 
				
			||||
 | 
				
			||||
Now we can have fun! The ProxyPreserveHost is technically not needed. But there | 
				
			||||
are some more options in the proxy module that makes life a little bit easier. | 
				
			||||
We will not proxy requests for /context/static. All the rest will be proxied to | 
				
			||||
the right server. Server1 is active now. Server2 is disabled. (maintenance?) So | 
				
			||||
if Server1 will fail, everybody is moved to a balanced cluster of Server3 and | 
				
			||||
Server4. I know, it's a little bit strange setup, but it's only an example. | 
				
			||||
 | 
				
			||||
  ProxyPreserveHost On | 
				
			||||
  ProxyPass /context/static ! | 
				
			||||
  ProxyPass /context balancer://clustername/something | 
				
			||||
 | 
				
			||||
  <Proxy balancer://clustername> | 
				
			||||
    BalancerMember http://servername1:port lbset=0 route=server1 | 
				
			||||
    # The next server is temporary disabled. | 
				
			||||
    BalancerMember http://servername2:port lbset=0 route=server2 status=+D | 
				
			||||
    # | 
				
			||||
    # Backupservers if other servers failed | 
				
			||||
    BalancerMember http://servername3:port lbset=1 route=server3 | 
				
			||||
    BalancerMember http://servername4:port lbset=1 route=server4 | 
				
			||||
  </Proxy> | 
				
			||||
@ -0,0 +1,28 @@
				@@ -0,0 +1,28 @@
					 | 
				
			||||
<b>Apache webserver and rewrite rules</b> | 
				
			||||
 | 
				
			||||
Here are some rewrite codes I sometimes use. Rewrite is a very powerful Apache | 
				
			||||
module and so almost everything is possible. Some examples. | 
				
			||||
 | 
				
			||||
To rewrite your http://www.oldsite.org/something to the new URL | 
				
			||||
http://www.newsite.org/something, you can use the next code: | 
				
			||||
 | 
				
			||||
  RewriteCond %{HTTP_HOST} ^www\.oldsite.org [NC] | 
				
			||||
  RewriteRule ^ http://www.newsite.org%{REQUEST_URI} [L,R=301] | 
				
			||||
 | 
				
			||||
To do an action when the user don't have a special cookie, for example to force | 
				
			||||
somebody to the login page or redirect him to a welcome page. Take a look at the | 
				
			||||
second rule. This one prevents looping over these rule again and again. | 
				
			||||
 | 
				
			||||
  RewriteCond %{HTTP_COOKIE} !logincookie | 
				
			||||
  RewriteCond %{QUERY_STRING} !page=login | 
				
			||||
  RewriteRule ^(.*)$ %{REQUEST_URI}?page=login [L,R] | 
				
			||||
 | 
				
			||||
To rewrite a request if it's a search result from google. | 
				
			||||
 | 
				
			||||
  RewriteCond %{HTTP_REFERER} ^http://www\.google [NC] | 
				
			||||
  RewriteRule ^ http://www.somewhere.com/something.gif [R] | 
				
			||||
 | 
				
			||||
To simple forward your request to your internal server2 on port 8080: | 
				
			||||
 | 
				
			||||
  RewriteEngine On | 
				
			||||
  RewriteRule ^/app/(.*)$ http://server2:8080/app1/$1 [P] | 
				
			||||
@ -0,0 +1,14 @@
				@@ -0,0 +1,14 @@
					 | 
				
			||||
<b>Clustered AwStats</b> | 
				
			||||
 | 
				
			||||
To use AWStats in a multiple vhost environment, you can make a new crontab for | 
				
			||||
every new site. But that's not very smart. I made this script to look at the | 
				
			||||
AWStats configuration files and parse all the access.log.1.gz files for all the | 
				
			||||
different sites. | 
				
			||||
 | 
				
			||||
It's made for my servers, so probably you have to change something for your own | 
				
			||||
environment. Make sure your AWStats config match this config and exchange SSH | 
				
			||||
key's for the AWStatst user to the webservers (read)! The access logging of the | 
				
			||||
Apache servers in the example below should be | 
				
			||||
/var/log/apache2/sitename/access.log.1.gz | 
				
			||||
 | 
				
			||||
You can find the script <a href='__SITEURL__/scripts/awstats_cron'>here</a>. | 
				
			||||
@ -0,0 +1,25 @@
				@@ -0,0 +1,25 @@
					 | 
				
			||||
<b>backup and restoring partitions</b> | 
				
			||||
 | 
				
			||||
You always wonder how to make a backup of a complete disk? For example to rescue | 
				
			||||
the disk, or you want to save te data for later on? Or mayby to make an image | 
				
			||||
and distribute it over a lot of computers? Here is how. | 
				
			||||
 | 
				
			||||
Make a backup of a partition (this could also be the whole disk): | 
				
			||||
 | 
				
			||||
One-to-one: | 
				
			||||
  dd if=/dev/hdx1 of=/path/to/image | 
				
			||||
 | 
				
			||||
To a compressed image: | 
				
			||||
  dd if=/dev/hdx2 | gzip > /path/to/image.gz | 
				
			||||
 | 
				
			||||
To mount the partition on a local directory: | 
				
			||||
  mount -o loop /path/to/image /mnt | 
				
			||||
 | 
				
			||||
To restore a partition (first make sure the partition on disk is the same size or | 
				
			||||
bigger than the original): | 
				
			||||
 | 
				
			||||
One-to-one: | 
				
			||||
  dd if=/path/to/image of=/dev/hdx1 | 
				
			||||
 | 
				
			||||
From a compressed image: | 
				
			||||
  gzip -dc /path/to/image.gz |dd of=/dev/hdx2 | 
				
			||||
@ -0,0 +1,119 @@
				@@ -0,0 +1,119 @@
					 | 
				
			||||
<b>Install Debian testing on an iBook G4</b> | 
				
			||||
 | 
				
			||||
Fact one, I still have an iBook G4 and little use to it. Fact two, sometimes I | 
				
			||||
still miss my linux desktop. (Mac OS X is not that bad) Combine those two facts | 
				
			||||
and we are going to install Debian Testing on an iBook G4. | 
				
			||||
 | 
				
			||||
<b>Getting the software</b> | 
				
			||||
I used the netinstaller from | 
				
			||||
http://cdimage.debian.org/cdimage/daily-builds/daily/arch-latest/powerpc/iso-cd/ | 
				
			||||
Burn the debian-testing-powerpc-netinst.iso to a CD. (I know, it's an old medium) | 
				
			||||
 | 
				
			||||
<b>Do an installation</b> | 
				
			||||
Boot your iBook and insert the CD. Press 'c' and hold while or before | 
				
			||||
Apple-Boot-Sound to start from CD. Maybe you have to boot it again if you are too | 
				
			||||
slow. He asks you what you want to do. type | 
				
			||||
 | 
				
			||||
  install video=ofonly | 
				
			||||
 | 
				
			||||
The debian installer doesn't like the iBook's graphic card. Proceed like a normal | 
				
			||||
Debian installation, until the disk layout. | 
				
			||||
 | 
				
			||||
<b>Disk partitioning</b> | 
				
			||||
Choose for 'guided partitioning'. Then you will get an reconfigured partitionschema | 
				
			||||
which you can change. You will see an extra partition, the 'Apple' type partition. | 
				
			||||
Change your disk partition like you want, but keep the first Apple partition!!! | 
				
			||||
Otherwise it can't format the drive. I did it my way the first time and had some | 
				
			||||
problems formatting my drive. Maybe it's a bug in testing, but I couldn't find the | 
				
			||||
Apple type, but it worked using the 'guided partitioning'. | 
				
			||||
 | 
				
			||||
This is my partition table: | 
				
			||||
 | 
				
			||||
  IDE1 master (hda) - 120.0 GB FUJITSU MHV2120AT | 
				
			||||
  #1 32.3 kB Apple | 
				
			||||
  #2 1.0 MB B K boot untitled | 
				
			||||
  #3 7.0 GB f ext4 untitled / | 
				
			||||
  #4 3.5 GB f swap swap swap | 
				
			||||
  #5 109.6 GB f ext4 untitled /home | 
				
			||||
 | 
				
			||||
If you got the error 'Partition map has no partition map entry' after writing the | 
				
			||||
partition table to disk, you forgot to make the first Apple partition. | 
				
			||||
 | 
				
			||||
Your system will reboot. | 
				
			||||
 | 
				
			||||
Choose the parts you want to install. I simply only choose to install basics and | 
				
			||||
laptop. All the rest I will do by myself. | 
				
			||||
 | 
				
			||||
Reboot into your new OS. The first thing I noticed was the fan. It sounds like a | 
				
			||||
broken fan. After about 5 minutes it scaled down to zero and the noise was gone. | 
				
			||||
 | 
				
			||||
<b>Console tools</b> | 
				
			||||
Just aptitude install gpm. This will install gpm, the mouse interface for the | 
				
			||||
console. An USB mouse will work out of the box. | 
				
			||||
 | 
				
			||||
<b>X</b> | 
				
			||||
Installing X is a bit strange in Debian because of the Radeon Mobility 9200. Main | 
				
			||||
problem is the framebuffer loaded at boot time. The next can be done by every | 
				
			||||
windowmanager, but I prefer KDE. Make sure your /etc/apt/sources.list contains | 
				
			||||
besides main, also the contrib and non-free repo's. | 
				
			||||
 | 
				
			||||
  aptitude install xorg | 
				
			||||
  aptitude install kde-standard | 
				
			||||
  aptitude install firmware-linux | 
				
			||||
 | 
				
			||||
Do not reboot now! It will freeze during boot. Add the following into your | 
				
			||||
/etc/yaboot.conf: | 
				
			||||
 | 
				
			||||
  image=/boot/vmlinux | 
				
			||||
  label=Linux | 
				
			||||
  read-only | 
				
			||||
  initrd=/boot/initrd.img | 
				
			||||
  append="video=ofonly video=radeonfb:off radeon.agpmode=-1" | 
				
			||||
 | 
				
			||||
  image=/boot/vmlinux.old | 
				
			||||
  label=old | 
				
			||||
  read-only | 
				
			||||
  initrd=/boot/initrd.img.old | 
				
			||||
  append="video=ofonly video=radeonfb:off radeon.agpmode=-1" | 
				
			||||
 | 
				
			||||
Then run: | 
				
			||||
 | 
				
			||||
  root@thuu:~# ybin -v | 
				
			||||
  ybin: Finding OpenFirmware device path to `/dev/hda2'... | 
				
			||||
  ybin: Installing first stage bootstrap /usr/lib/yaboot/ofboot onto /dev/hda2... | 
				
			||||
  ybin: Installing primary bootstrap /usr/lib/yaboot/yaboot onto /dev/hda2... | 
				
			||||
  ybin: Installing /etc/yaboot.conf onto /dev/hda2... | 
				
			||||
  ybin: Setting attributes on ofboot... | 
				
			||||
  ybin: Setting attributes on yaboot... | 
				
			||||
  ybin: Setting attributes on yaboot.conf... | 
				
			||||
  ybin: Blessing /dev/hda2 with Holy Penguin Pee... | 
				
			||||
  ybin: Updating OpenFirmware boot-device variable in nvram... | 
				
			||||
 | 
				
			||||
Now you may reboot. If you accidentally reboot your system before changing | 
				
			||||
yaboot and you are stuk at the message: | 
				
			||||
 | 
				
			||||
  conflicting fb hw usage radeondrmfb | 
				
			||||
 | 
				
			||||
Give during boot time in the yaboot menu the command: | 
				
			||||
 | 
				
			||||
  boot: Linux video=radeonfb:off radeon.agpmode=-1 | 
				
			||||
 | 
				
			||||
It will boot again with the right options. | 
				
			||||
 | 
				
			||||
<b>Wireless</b> | 
				
			||||
First, make sure in your /etc/apt/sources.list contains the contrib packages. | 
				
			||||
Update your repository and install the package b43-fwcutter. Download the | 
				
			||||
firmware for the b43 from | 
				
			||||
 | 
				
			||||
  http://downloads.openwrt.org/sources/broadcom-wl-4.150.10.5.tar.bz2 | 
				
			||||
 | 
				
			||||
Untar the broadcom code and cd into the driver directory | 
				
			||||
 | 
				
			||||
  b43-fwcutter -w /lib/firmware/ wl_apsta_mimo.o | 
				
			||||
 | 
				
			||||
And your Wireless is working. (can somebody test this again? Maybe I missed | 
				
			||||
something) | 
				
			||||
 | 
				
			||||
<b>Bluetooth</b> | 
				
			||||
Bluetooth is working out of the box. Install btscanner to see it for yourself. | 
				
			||||
Config files are in /etc/bluetooth. | 
				
			||||
@ -0,0 +1,16 @@
				@@ -0,0 +1,16 @@
					 | 
				
			||||
<b>How to remove debian packages</b> | 
				
			||||
 | 
				
			||||
The normal way to remove a Debian package is to use | 
				
			||||
 | 
				
			||||
  apt-get remove name | 
				
			||||
Or | 
				
			||||
  aptitude remove name | 
				
			||||
 | 
				
			||||
But in this way you are left with a bunch of configuration files. You can remove | 
				
			||||
individual package configuration with: | 
				
			||||
 | 
				
			||||
  apt-get purge name | 
				
			||||
 | 
				
			||||
Or all those packages that has been removed, but not completely: | 
				
			||||
 | 
				
			||||
  dpkg -l | grep ^rc | cut -d' ' -f3|xargs dpkg -P | 
				
			||||
@ -0,0 +1,33 @@
				@@ -0,0 +1,33 @@
					 | 
				
			||||
<b>iPhone headset button</b> | 
				
			||||
 | 
				
			||||
The headphone of my iPhone has some more capabilities beside taking calls or | 
				
			||||
start and pause music. I found some information on the internet. | 
				
			||||
 | 
				
			||||
Incoming call: | 
				
			||||
1. Press once to pickup the call | 
				
			||||
2. Press twice to send the call to voicemail. | 
				
			||||
3. Press and hold center button for about two seconds to decline the call. You | 
				
			||||
   will also hear two low beeps that confirm you the call is declined. | 
				
			||||
 | 
				
			||||
While you're in a call, you can simply press once to end the call. | 
				
			||||
 | 
				
			||||
While you're in a call and there is a second incoming call, you can: | 
				
			||||
1. Press once to switch to another call and put the current call on hold. Press | 
				
			||||
   the button again to switch to the first call. | 
				
			||||
2. Press and hold the button for about two seconds to ignore the second call. | 
				
			||||
 | 
				
			||||
While you're not in a call, you can press the button once to activate iPod and | 
				
			||||
playback your music. | 
				
			||||
 | 
				
			||||
While you're listening to music in iPod, you can use the button to control the | 
				
			||||
music playback: | 
				
			||||
1. Press once to pause the song and press again to resume it. | 
				
			||||
2. Press twice to skip to the next song | 
				
			||||
3. Press three time to go back to the previous song | 
				
			||||
 | 
				
			||||
For iPhone 3GS, the bundled headset is enhanced with volume control buttons. You | 
				
			||||
can use the "+" and "-" buttons to adjust the volume. And, one more thing. You | 
				
			||||
can press and hold the center button to activate voice control, which is a new | 
				
			||||
feature comes with iPhone 3GS. | 
				
			||||
 | 
				
			||||
(source: http://rdsbc.blogspot.com/2009/08/tips-iphone-headset-shortcuts.html) | 
				
			||||
@ -0,0 +1,49 @@
				@@ -0,0 +1,49 @@
					 | 
				
			||||
<b>Install KiwiIRC on Debian</b> | 
				
			||||
 | 
				
			||||
A some people know, I use IRC a lot. Especially in combination with | 
				
			||||
ZNC, a bouncer for all my IRC connections. But sometimes you need an | 
				
			||||
IRC client in a browser with just your own settings. Therefore, how | 
				
			||||
to install the fantastic webbased IRC client Kiwiirc on a Debian based | 
				
			||||
server. | 
				
			||||
 | 
				
			||||
I presume you already have git working. Otherwise, install it | 
				
			||||
(apt-get install git). Fist we need a working server with node.js. So | 
				
			||||
let’s install all the software as root: | 
				
			||||
 | 
				
			||||
  apt-get install npm | 
				
			||||
 | 
				
			||||
The problem is that Debian uses the ‘nodejs’ binary, but the whole rest | 
				
			||||
of the world called this file ‘node’. So we have to link it to the | 
				
			||||
right name before starting the installer. | 
				
			||||
 | 
				
			||||
  ln -s /usr/bin/nodejs /usr/bin/node | 
				
			||||
 | 
				
			||||
After installing all the software, we could become the user with should | 
				
			||||
run KiwiIRC. Probably you wouldn;t want to run this as root! So find a | 
				
			||||
nice place to store the software (/home/kiwiirc if the user is called | 
				
			||||
kiwiirc) and make a git clone of the software tree. | 
				
			||||
 | 
				
			||||
  git clone https://github.com/prawnsalad/KiwiIRC.git && cd KiwiIRC | 
				
			||||
 | 
				
			||||
I ran into a problem with ZNC. It wouldn’t connect to ZNC, but it | 
				
			||||
should. After upgrading from stable to the development, it worked. If | 
				
			||||
you have no problems at all, stay with the stable branch. | 
				
			||||
 | 
				
			||||
  git checkout development | 
				
			||||
 | 
				
			||||
Copy the config file, edit it to your prefecences and do a rebuild. | 
				
			||||
This wil generate all you needed files. Remember that after changing | 
				
			||||
the configfile, you have to run the build script! | 
				
			||||
 | 
				
			||||
  cp config.example.js config.js | 
				
			||||
  nano config.js | 
				
			||||
  ./kiwi build | 
				
			||||
 | 
				
			||||
After all this trouble, you can start your webbased IRC client! The | 
				
			||||
first is for starting in the background, the second if you want to run | 
				
			||||
it in the forground, (debuging) | 
				
			||||
 | 
				
			||||
  ./kiwi start | 
				
			||||
  ./kiwi -f start | 
				
			||||
 | 
				
			||||
Happy chatting! | 
				
			||||
@ -0,0 +1,41 @@
				@@ -0,0 +1,41 @@
					 | 
				
			||||
<b>LVM cheatsheet</b> | 
				
			||||
 | 
				
			||||
Here is a cheatsheet for LVM: | 
				
			||||
 | 
				
			||||
LVM exists in the following order: | 
				
			||||
 | 
				
			||||
-PV (physical volume) | 
				
			||||
-VG (volume group) | 
				
			||||
-LV (logical volume) | 
				
			||||
 | 
				
			||||
Create a physical volume | 
				
			||||
 | 
				
			||||
  pvcreate /dev/hdX1 | 
				
			||||
  pvscan | 
				
			||||
  pvdisplay | 
				
			||||
 | 
				
			||||
Create a volume group | 
				
			||||
 | 
				
			||||
  vgcreate vg_name /dev/hdX1 /dev/hdX2 | 
				
			||||
  vgscan | 
				
			||||
  vgdisplay | 
				
			||||
 | 
				
			||||
Create a logical volume | 
				
			||||
 | 
				
			||||
  lvcreate -L 10G -n lv_name vg_name | 
				
			||||
  lvscan | 
				
			||||
  lvdisplay | 
				
			||||
 | 
				
			||||
Activate an external LVM volume | 
				
			||||
Usefull when you are repairing an external harddisk with a LVM volume. | 
				
			||||
 | 
				
			||||
  lvscan | 
				
			||||
  lvchange -a y lv_name | 
				
			||||
  lvscan | 
				
			||||
 | 
				
			||||
Disable an external LVM volume | 
				
			||||
Usefull when you are repairing an external harddisk with a LVM volume. | 
				
			||||
 | 
				
			||||
  lvscan | 
				
			||||
  lvchange -a n lv_name | 
				
			||||
  lvscan | 
				
			||||
@ -0,0 +1,10 @@
				@@ -0,0 +1,10 @@
					 | 
				
			||||
<b>How to backup a MySql database</b> | 
				
			||||
 | 
				
			||||
To backup all your databases from MySql, I made the <a href='__SITEURL__/scripts/sqlbackup'>this script</a>. | 
				
			||||
 | 
				
			||||
You can run this script from your crontab. Run this every night and it will dump | 
				
			||||
all of your databases added with a date into the directory /backup/sql You can | 
				
			||||
also remove the very old ones by crontab. My crontab looks like the following: | 
				
			||||
 | 
				
			||||
  0 0 * * * find /backup/sql/ -mtime +5 -exec rm -rf {} \; | 
				
			||||
  0 0 * * * /usr/local/bin/sqlbackup | 
				
			||||
@ -0,0 +1,22 @@
				@@ -0,0 +1,22 @@
					 | 
				
			||||
<b>How to split a big file in smaler ones</b> | 
				
			||||
 | 
				
			||||
Sometimes you got the problem that a file is something too big. No problem. There | 
				
			||||
is a solution for that. The command split. | 
				
			||||
 | 
				
			||||
Split a file | 
				
			||||
How do we split a file? Simple. To split the file bigfile into smaller files from | 
				
			||||
100 MB with the name smallfile00, smallfile01, smallfile02 etc. we do: | 
				
			||||
 | 
				
			||||
  split -d -b100m bigfile smallfile | 
				
			||||
 | 
				
			||||
If you want an extention, some people or program's like that, you can give them | 
				
			||||
an extention: | 
				
			||||
 | 
				
			||||
  for i in `ls smallfile*` do mv $i $i.abc; done | 
				
			||||
 | 
				
			||||
And you got all smaller files. | 
				
			||||
 | 
				
			||||
Join a file | 
				
			||||
Later on, to join the files together, you can use the command cat. | 
				
			||||
 | 
				
			||||
  cat smallfile* > bigfile | 
				
			||||
@ -0,0 +1,58 @@
				@@ -0,0 +1,58 @@
					 | 
				
			||||
<b>Getting Wolfenstein (wolf) running in Debian</b> | 
				
			||||
 | 
				
			||||
Running games in Linux could be a pain in the ass. Here I tried to install | 
				
			||||
Wolfenstein. | 
				
			||||
 | 
				
			||||
Install your software. Probebly it goes to /usr/local/games/wolfenstein. And | 
				
			||||
of course make your openGL working. See the big internet for doing this. | 
				
			||||
 | 
				
			||||
If you start your game (./wolf) it will come up with the following error: | 
				
			||||
 | 
				
			||||
Wolf 1.1b linux-i386 Jan 17 2002 | 
				
			||||
----- FS_Startup ----- | 
				
			||||
Current search path: | 
				
			||||
/home/rogier/.wolf/main | 
				
			||||
/usr/local/games/wolfenstein/main/mp_pakmaps0.pk3 (21 files) | 
				
			||||
/usr/local/games/wolfenstein/main/mp_pak2.pk3 (3 files) | 
				
			||||
/usr/local/games/wolfenstein/main/mp_pak1.pk3 (308 files) | 
				
			||||
/usr/local/games/wolfenstein/main/mp_pak0.pk3 (783 files) | 
				
			||||
/usr/local/games/wolfenstein/main/pak0.pk3 (4775 files) | 
				
			||||
/usr/local/games/wolfenstein/main | 
				
			||||
./wolf.x86/main | 
				
			||||
 | 
				
			||||
---------------------- | 
				
			||||
5890 files in pk3 files | 
				
			||||
execing default.cfg | 
				
			||||
couldn't exec language.cfg | 
				
			||||
couldn't exec wolfconfig_mp.cfg | 
				
			||||
couldn't exec autoexec.cfg | 
				
			||||
Hunk_Clear: reset the hunk ok | 
				
			||||
Joystick is not active. | 
				
			||||
Bypassing CD checks | 
				
			||||
----- Client Initialization ----- | 
				
			||||
----- Initializing Renderer ---- | 
				
			||||
------------------------------- | 
				
			||||
Loaded 714 translation strings from scripts/translation.cfg | 
				
			||||
----- Client Initialization Complete ----- | 
				
			||||
----- R_Init ----- | 
				
			||||
...loading libGL.so: QGL_Init: Can't load libGL.so from /etc/ld.so.conf | 
				
			||||
or current dir: /usr/local/games/wolfenstein/libGL.so: cannot open shared | 
				
			||||
object file: No such file or directory | 
				
			||||
failed | 
				
			||||
...loading libMesaVoodooGL.so.3.1: QGL_Init: Can't load libMesaVoodooGL.so.3.1 | 
				
			||||
from /etc/ld.so.conf or current dir: | 
				
			||||
/usr/local/games/wolfenstein/libMesaVoodooGL.so.3.1: cannot open shared object | 
				
			||||
file: No such file or directory | 
				
			||||
failed | 
				
			||||
----- CL_Shutdown ----- | 
				
			||||
RE_Shutdown( 1 ) | 
				
			||||
----------------------- | 
				
			||||
----- CL_Shutdown ----- | 
				
			||||
----------------------- | 
				
			||||
Sys_Error: GLimp_Init() - could not load OpenGL subsystem | 
				
			||||
 | 
				
			||||
<b>Solution</b> | 
				
			||||
There is nothing wrong, but Debian is missing a link. So make the link: | 
				
			||||
 | 
				
			||||
cd /usr/lib32/ | 
				
			||||
ln -s libGL.so.1 libGL.so | 
				
			||||
| 
		 After Width: | Height: | Size: 25 KiB  | 
@ -0,0 +1,19 @@
				@@ -0,0 +1,19 @@
					 | 
				
			||||
              <b>Welcome to Sciuro.org</b> | 
				
			||||
 | 
				
			||||
This is my simple place where I will put my thoughts and           _.-"""-, | 
				
			||||
knowlege on the world wide web.                                  .'  ..::. `\ | 
				
			||||
                                                                /  .::' `'` / | 
				
			||||
<b>Why is it all text based?</b>                                      / .::' .--.=; | 
				
			||||
After trying different type's of websites and frameworks, I    | ::' /  C ..\ | 
				
			||||
came to the conclusion that they all are slow, difficult       | :: |   \  _.) | 
				
			||||
and not inuitive for a nerd like me. What I liked the most      \ ':|   /  \ | 
				
			||||
was the old text based website. So why not build one. :-)        '-, \./ \)\) | 
				
			||||
Beside that, it's also quite fast on the creepy Dutch               `-|   );/ | 
				
			||||
mobile network.                                                       '--'-' | 
				
			||||
 | 
				
			||||
<b>What can I find here?</b> | 
				
			||||
Everything I want. Solutions for problems I faced (<a href='__SITEURL__/howto/'>howto's</a>), scripts I use every | 
				
			||||
day, or ones in a while (<a href='__SITEURL__/scripts/'>scripts</a>), day to day thoughts (<a href='__SITEURL__/blog/'>blog</a>) and pictures | 
				
			||||
(<a href='__SITEURL__/photo/'>photo's</a>). And maybe a lot of other things. | 
				
			||||
 | 
				
			||||
Have fun! | 
				
			||||
@ -0,0 +1,15 @@
				@@ -0,0 +1,15 @@
					 | 
				
			||||
<b>Links</b> | 
				
			||||
 | 
				
			||||
<b>Security</b> | 
				
			||||
-<a href='https://www.gnupg.org/gph/en/manual.html' target=new>GPG handbook</a> | 
				
			||||
-<a href='http://www.phillylinux.org/keys/terminal.html' target=new>GPG keysigning</a> | 
				
			||||
 | 
				
			||||
<b>Geocaching</b> | 
				
			||||
-<a href='http://www.geocaching.com/' target=new>Geocaching.com</a> | 
				
			||||
-<a href='http://www.openstreetmap.com' target=new>OSM charts</a> | 
				
			||||
-<a href='http://garmin.openstreetmap.nl' target=new>OSM charts for garmin devices</a> | 
				
			||||
-<a href='#empty' target=new>Routing on OSM charts</a> | 
				
			||||
 | 
				
			||||
<b>Scouting</b> | 
				
			||||
-<a href='http://www.scoutlink.net/' target=new>Scoutlink</a> | 
				
			||||
-<a href='http://pe1mew.nl/handboek/' target=new>Jota Handboek</a> | 
				
			||||
@ -0,0 +1 @@
				@@ -0,0 +1 @@
					 | 
				
			||||
<b>Winterweer in Bilthoven</b> | 
				
			||||
@ -0,0 +1,4 @@
				@@ -0,0 +1,4 @@
					 | 
				
			||||
<b>Pollex autoroute</b> | 
				
			||||
 | 
				
			||||
Tijdens een stamopkomst is er een autorally gereden met diverse opdrachten en | 
				
			||||
hindernissen. | 
				
			||||
@ -0,0 +1,3 @@
				@@ -0,0 +1,3 @@
					 | 
				
			||||
<b>Bikkelweekend uitzetten</b> | 
				
			||||
 | 
				
			||||
Foto's tijdens het uitzetten van het bikkelweekend in Heeze. | 
				
			||||
@ -0,0 +1,3 @@
				@@ -0,0 +1,3 @@
					 | 
				
			||||
<b>Zurich</b> | 
				
			||||
 | 
				
			||||
Een weekend langs in Zurich. | 
				
			||||
@ -0,0 +1,3 @@
				@@ -0,0 +1,3 @@
					 | 
				
			||||
<b>Oud en nieuw 2012-2013</b> | 
				
			||||
 | 
				
			||||
In Kandersteg met de LG en PBG. | 
				
			||||
@ -0,0 +1,42 @@
				@@ -0,0 +1,42 @@
					 | 
				
			||||
#!/bin/bash | 
				
			||||
 | 
				
			||||
# Variables | 
				
			||||
BASE_DIR=/opt/awstats | 
				
			||||
DATA_DIR=/opt/awstats-data/data | 
				
			||||
LOGS_DIR=/opt/awstats-data/logs | 
				
			||||
HTML_DIR=/opt/awstats-data/html | 
				
			||||
APACHE_LOG=/var/log/apache2 | 
				
			||||
CONFIG_DIR=$BASE_DIR/wwwroot/cgi-bin | 
				
			||||
 | 
				
			||||
# Which servers have all the access.log logfiles | 
				
			||||
SERVERS='server1 server2 server3' | 
				
			||||
 | 
				
			||||
# Make a list of all the sites that need parsing | 
				
			||||
SITES=`ls $CONFIG_DIR |egrep '^awstats.*\.conf$' |grep -v awstats.model.conf |sed -e 's/^awstats\.//' -e 's/\.conf$//'` | 
				
			||||
 | 
				
			||||
# Start making a simple HTML page with all the sites | 
				
			||||
echo "<center>" > $HTML_DIR/index.html | 
				
			||||
 | 
				
			||||
for s in $SITES; do | 
				
			||||
 | 
				
			||||
 # Copy the access logging to the local server | 
				
			||||
 for i in $SERVERS; do | 
				
			||||
  scp -q $i:$APACHE_LOG/$s/access.log.1.gz $LOGS_DIR/$i.$s.gz | 
				
			||||
 done | 
				
			||||
 | 
				
			||||
 # Combine and sort the logfile's | 
				
			||||
 $BASE_DIR/tools/logresolvemerge.pl $LOGS_DIR/*.$s.gz |gzip > $LOGS_DIR/$s.gz | 
				
			||||
 | 
				
			||||
 # Remove the server logfiles | 
				
			||||
 rm $LOGS_DIR/*.$s.gz | 
				
			||||
 | 
				
			||||
 # Update the statistics | 
				
			||||
 $BASE_DIR/wwwroot/cgi-bin/awstats.pl -config=$s -update | 
				
			||||
 | 
				
			||||
 # Remove the combined logfile | 
				
			||||
 rm $LOGS_DIR/$s.gz | 
				
			||||
 | 
				
			||||
 # Write an entry in the HTML file for this website | 
				
			||||
 echo "<a href='http://$s/awstats/awstats.pl'>$s</a><br />" >> $HTML_DIR/index.html | 
				
			||||
 | 
				
			||||
done | 
				
			||||
@ -0,0 +1,21 @@
				@@ -0,0 +1,21 @@
					 | 
				
			||||
#!/bin/bash | 
				
			||||
 | 
				
			||||
# Settings | 
				
			||||
MYSQL="$(which mysql)" | 
				
			||||
MYSQLDUMP="$(which mysqldump)" | 
				
			||||
GZIP="$(which gzip)" | 
				
			||||
MyUSER="sys_backup" | 
				
			||||
MyPASS="secretpassword" | 
				
			||||
DIR="/backup/sql" | 
				
			||||
NOW="$(date +"%Y-%m-%d")" | 
				
			||||
 | 
				
			||||
# Get all the databases in your server | 
				
			||||
DBS="$($MYSQL -u $MyUSER -p$MyPASS -Bse 'show databases')" | 
				
			||||
 | 
				
			||||
for db in $DBS | 
				
			||||
do | 
				
			||||
  if [ "$db" != "information_schema" ]; then | 
				
			||||
    FILE="$DIR/$db.$NOW.gz" | 
				
			||||
    $MYSQLDUMP --routines -u $MyUSER -p$MyPASS $db | $GZIP -9 > $FILE | 
				
			||||
  fi | 
				
			||||
done | 
				
			||||
@ -0,0 +1,5 @@
				@@ -0,0 +1,5 @@
					 | 
				
			||||
<b>Graphs</b> | 
				
			||||
 | 
				
			||||
                +-----+------+------+--------+--------+-----+-------+ | 
				
			||||
                | <a href='__SITEURL__/servers/graph-314.html'>314</a> | <a href='__SITEURL__/servers/graph-chip.html'>Chip</a> | Dale | <a href='__SITEURL__/servers/graph-skippy.html'>Skippy</a> | <a href='__SITEURL__/servers/graph-slappy.html'>Slappy</a> | <a href='__SITEURL__/servers/graph-irc.html'>IRC</a> | <a href='__SITEURL__/servers/graph-lists.html'>Lists</a> | | 
				
			||||
                +-----+------+------+--------+--------+-----+-------+ | 
				
			||||
@ -0,0 +1,22 @@
				@@ -0,0 +1,22 @@
					 | 
				
			||||
<b>Layout servers</b> | 
				
			||||
 | 
				
			||||
 +---------+ | 
				
			||||
 |         | | 
				
			||||
 | Router  |---------+-----------+-----------+-----------+ | 
				
			||||
 |         |         |           |           |           | | 
				
			||||
 +---------+         |           |           |           | | 
				
			||||
      |         +---------+ +---------+ +---------+ +---------+ | 
				
			||||
      |         |         | |         | |         | |         | | 
				
			||||
  Internet      | Skippy  | | Slappy  | | IRC     | | Lists   | | 
				
			||||
      |         |         | |         | |         | |         | | 
				
			||||
      |         +---------+ +---------+ +---------+ +---------+ | 
				
			||||
      | | 
				
			||||
      | | 
				
			||||
      +--------------+-----------+-----------+ | 
				
			||||
      |              |           |           | | 
				
			||||
      |              |           |           | | 
				
			||||
      |         +---------+ +---------+ +---------+ | 
				
			||||
      |         |         | |         | |         | | 
				
			||||
      |         | 314     | | Chip    | | Dale    | | 
				
			||||
      |         |         | |         | |         | | 
				
			||||
      |         +---------+ +---------+ +---------+ | 
				
			||||
@ -0,0 +1,13 @@
				@@ -0,0 +1,13 @@
					 | 
				
			||||
<b>Server Status</b> | 
				
			||||
 | 
				
			||||
 +--------+--------+ | 
				
			||||
 | Server | Status | | 
				
			||||
 +--------+--------+ | 
				
			||||
 | 314    | <font color='00FF00'>Ok</font>     | | 
				
			||||
 | Chip   | <font color='00FF00'>Ok</font>     | | 
				
			||||
 | Dale   | <font color='FF0000'>Error</font>  | | 
				
			||||
 | Skippy | <font color='00FF00'>Ok</font>     | | 
				
			||||
 | Slappy | <font color='00FF00'>Ok</font>     | | 
				
			||||
 | IRC    | <font color='00FF00'>Ok</font>     | | 
				
			||||
 | Lists  | <font color='00FF00'>Ok</font>     | | 
				
			||||
 +--------+--------+ | 
				
			||||
					Loading…
					
					
				
		Reference in new issue