Shuffleco.de

Lost in shuffled code

May 12, 2013 - 2 minute read - bash linux

logrotate script

Ein Logrotate Bashscript. Es gibt sicher effizientere Lösungen, allerdings habe ich keine von denen selbst geschrieben :) Daher, und zum Üben hab ich das mal gemacht.

logrotate.sh
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#Logfile Größenbegrenzung
# PARAM 1 = Datei
# PARAM 2 = Groesse in KB
# ShuffleCode, 13.05.2013

#!/bin/sh
 
fehlermeldung="Maximale Länge (in KByte) einer Datei ueberwachen. \nusage: $0 FILE SIZE"
 
#Paramter Anzahl prüfen
if [ $# -ne 2 ]
then
        echo -e $fehlermeldung >&2
        exit 1
fi
 
#vorhandensein der Datei prüfen
if [ -f $1 ] # Datei vorhanden
then
        echo -e "OK\n"
else
        echo -e "Datei $1 nicht vorhanden\n" >&2
        echo -e $fehlermeldung
        exit 2
fi
 
#Dateinamen speichern
FILE=$1
FAKTOR=1024
#KBytes in BYtes umrechnen
SIZE=$2
MAXSIZE=$(($SIZE * $FAKTOR))
 
#Owner speichern
OWNER=`ls -l $FILE | cut -d ' ' -f3`
GROUP=`ls -l $FILE | cut -d ' ' -f4`
#echo -e "besitzer: $OWNER \nGruppe: $GROUP"
TMP='/tmp/$$.tmp'
#echo -e "FILE TMP : $TMP"
 
#DateigRösse von File ermitteln
FILESIZE=`ls -l $FILE | cut -d ' ' -f5`
 
echo -e "Aktuelle Groesse: $FILESIZE"
echo -e "Maximale Groesse: $MAXSIZE"
 
ZAEHLER=0
TRUE=1
while [ $TRUE ]
do
        FILESIZE=`ls -l $FILE | cut -d ' ' -f5`
        echo -e "Aktuelle Groesse : $FILESIZE"
        if [ $FILESIZE -gt $MAXSIZE ]
        then
                touch $TMP
                echo -e "Komprimiere: "
                chown $OWNER $TMP
                chgrp $GROUP $TMP
                chmod --reference $FILE $TMP
                gzip -f $FILE
                mv $FILE.gz $FILE$ZAEHLER.gz
                mv $TMP $FILE
                let "ZAEHLER +=1"
        fi
sleep 60
done

Apr 30, 2013 - 1 minute read - mysql vortrag Sicherheit

MySQL-Sicherheit

Das ist ein Vortag den ich im Rahmen einer Präsentation vor Technikerschülern erstellt habe.

Er enthält:

  • eine Präsentation (pdf),
  • ein Netbeans-Projekt zum ausprobieren
  • ein SQL script zum ausführen auf dem Server (erstellt die Datenbank und einige Daten für die Java-Applikation)
  • ein Arbeitsblatt als “Workshop” für die Teilnehmer

die Java-Applikation ist nur ‘quick and dirty’ zusammengehackt und zeigt den Unterschied zwischen eingebetteten Sql strings und prepared- Statements.

Apr 30, 2013 - 1 minute read

New octopress post per bashscript

Hi,

heute habe ich ein bashscript geschrieben, das es mir einen Octopress Post erstellt und direkt im Anschluss an den server schickt.

Vielleicht hilft es dem einen oder anderen.

automounter.sh
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
#Octopress neuer Blogeintrag
#Shuflecode 30.04.13

##Paths of Octopress
octopress_dir="$HOME/octopress"
posts_dir="$HOME/octopress/source/_posts"

##Variables
date=$(date '+%Y'-'%m'-'%d')

##Show PopUp to get Blogpost-title
input=$(zenity --text "Titel" --entry)
retval=$?
echo $octopress_dir
##handling of user input
case $retval in
0) 
  #OK
  #replace spaces in input with dashes
  input=${input// /-}
  cd $octopress_dir;
  sleep 1;
  #generate file
  rake new_post["$input"];
  cd $posts_dir
  gedit $date-$input.markdown;
  notify-send "starte Post-Edit";
  #parse markdown and generate html / js/ css
  rake generate;
  #deploy on site
  rake deploy;
  notify-send "Blogpost gesendet";
  cd $HOME;;
1)
  #Cancel
  echo "ende";;
esac