├── backup.sh ├── counter_test.sh ├── hello_world.sh ├── simple-cd-backup.sh └── xroot.sh /backup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Create a directory for this backup. 3 | # Its name depends on the date and time so backups can't overwrite 4 | # each other, unless they're executed in the same minute. 5 | DATE=`/bin/date +%Y%m%d%H%M` 6 | mkdir /var/backup/$DATE 7 | # Backup the Apache logs. 8 | mkdir /var/backup/$DATE/apache-logs 9 | for f in /var/log/httpd/*; 10 | do 11 | cp -fr "$f" --target-directory /var/backup/$DATE/apache-logs 12 | done 13 | # Backup kermit's home directory 14 | mkdir /var/backup/$DATE/kermit-home 15 | for f in /home/kermit/*; 16 | do 17 | cp -fr "$f" --target-directory /var/backup/$DATE/kermit-home 18 | done 19 | -------------------------------------------------------------------------------- /counter_test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | COUNTER=0 4 | while true; 5 | do 6 | echo $COUNTER 7 | let COUNTER++ 8 | sleep 1; 9 | done 10 | -------------------------------------------------------------------------------- /hello_world.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "Hello, World!" 3 | -------------------------------------------------------------------------------- /simple-cd-backup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Back up files to CD, simply. 3 | BACKUPDIR="$HOME/.simple-cd-backup/FilesToBackUp" 4 | ISO=/tmp/CD-Backup-$(date -Iseconds).iso 5 | DISCNAME="Backup data, $(date +%c)" 6 | 7 | if [ ! -f /proc/sys/dev/cdrom/info ]; then 8 | zenity --title "Simple CD Backup" --error --error-text \ 9 | "Couldn't find a CD burner." 10 | exit 11 | fi 12 | 13 | BURNERINDEX=$(grep "Can write CD-R:" /proc/sys/dev/cdrom/info | \ 14 | python -c "import sys; s=sys.stdin.readline().split(); \ 15 | print s.count('1') and s.index('1')-1") 16 | 17 | if [ $BURNERINDEX == '0' ]; then 18 | zenity --title "Simple CD Backup" --error --error-text \ 19 | "Couldn't find a CD burner." 20 | exit 21 | fi 22 | 23 | CDDEVICE=$(grep "drive name:" /proc/sys/dev/cdrom/info | \ 24 | python -c "import sys; s=sys.stdin.readline().split(); \ 25 | print s[$BURNERINDEX]") 26 | 27 | mkdir -p "$BACKUPDIR" >/dev/null 2>&1 28 | nautilus --no-desktop --browser \ 29 | "$HOME/.simple-cd-backup/FilesToBackUp" 30 | 31 | zenity --title "Simple CD Backup" --question --question-text \ 32 | "Burn files linked in the directory?" 33 | if [ $? == 1 ]; then exit; fi 34 | 35 | mkisofs -f -l -o $ISO -A "$DISCNAME" "$BACKUPDIR" | \ 36 | zenity --progress-text="Creating backup" \ 37 | --title "Simple CD Backup" --progress --pulsate .auto-close 38 | 39 | cdrecord -v speed=4 dev=/dev/$CDDEVICE $ISO | \ 40 | zenity --progress-text="Burning CD" \ 41 | --title "Simple CD Backup" --progress --pulsate .auto-close 42 | 43 | rm $ISO 44 | 45 | zenity --info --infotext "Backup burned to CD." 46 | -------------------------------------------------------------------------------- /xroot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ $# -lt 1 ] 4 | then echo "usage: `basename $0` command" >&2 5 | exit 2 6 | fi 7 | su - -c "exec env DISPLAY='$DISPLAY' \ 8 | XAUTHORITY='${XAUTHORITY-$HOME/.Xauthority}' \ 9 | "'"$SHELL"'" -c '$*'" 10 | --------------------------------------------------------------------------------