Rogier Neeleman
11 years ago
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 |
||||
|
||||
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 |
||||
=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