bash

syncTs.sh

#!/bin/bash
 
EXCLUDES="--exclude=pxelinux.cfg/default --exclude=settings.* --exclude=t5 --exclude=t6 --exclude=t7 --exclude=hwprofile/aktuellesprofil --exclude=sn"
 
for IP in {31..33}; do
	echo $IP
	for DIR in www scripts tftpboot number; do 
		rsync -av ${EXCLUDES} /media/${DIR}/ root@192.168.1.${IP}:/media/${DIR}/
	done
done

Automatically move photos from memory card to hard drive with udev

# create udev rule
cat <<EOF> /etc/udev/rules.d/70-persistent-dcim.rules
KERNEL=="sd*1",SUBSYSTEM=="block",ATTR{partition}=="1",ACTION=="add",RUN+="/usr/sbin/mvdcim.sh \$KERNEL"
EOF
 
# create mvdcim.sh script
cat <<EOF> /usr/sbin/mvdcim.sh  
#!/bin/bash
 
DEVICE=/dev/\${1}
SOURCE=/mnt/DCIM/100NIKON
TARGET=/home/hafr/dcim
 
mount \${DEVICE} /mnt
if [ -d \${SOURCE} ]; then
        mv \${SOURCE}/*.jpg \${TARGET}         
        chmod 666 \${TARGET}/*.jpg
        eject \${DEVICE}
else
        umount /mnt
fi
EOF
chmod +x /usr/sbin/mvdcim.sh
 
 
# monitor changes (optional)
ud

mkEbook.sh

#!/bin/bash
 
# check parameter
if [ $# -lt 1 ]; then
	echo "USAGE: $0 LIST_NO"
	exit
else
	LISTID=$1
fi
 
 
function create_pdfmark() {
cat <<EOF> /tmp/pdfmarks
[ /Author (panticz.de)
/Creator (panticz.de)
/Producer (panticz.de)
/Keywords ($1, panticz.de)
/Title (panticz.de ${LISTID} - $1)
/Subject (panticz.de ${LISTID})
/DOCINFO pdfmark
EOF
}
 
 
for DIR in *
do	
	if [ -d "${DIR}" ]; then
		# convert to lowercase
		OUT=$(echo ${DIR} | tr "[:upper:]" "[:lower:]")
 
		# filter	
		OUT="${OUT// /_}"	# replace " " with "_"
		OUT="${OUT//ä/ae}"	# replace "ä" with "ae"
 

rebootAllPhones.sh

#!/bin/bash
 
for IP in {210..217}; do
	echo Rebooting ${IP}
	wget -q -O /dev/null -o /dev/null http://192.168.1.${IP}/confirm.htm?REBOOT=yes &
done

getUniqueFirstLetter.sh

#!/bin/bash
 
FILE=/tmp.$$.out
 
for i in $(ls); do
	echo ${i:0:1} >> ${FILE} 
done
 
cat ${FILE} | sort | uniq
rm ${FILE}

/etc/init.d/fiXorg.sh

#!/bin/sh
 
if [ $(date +%H) -gt 18 ]; then
	echo "activate Xorg ATI" 
	ln -sf /etc/X11/xorg.conf.ati  /etc/X11/xorg.conf
else
        echo "activate Xorg NVIDIA"
	ln -sf /etc/X11/xorg.conf.nvidia  /etc/X11/xorg.conf
fi
 
exit 0
 
 
# chmod +x /etc/init.d/fiXorg.sh
# update-rc.d fiXorg.sh defaults 20

syncStore.sh

#!/bin/bash
 
SERVER=YOUR_STORE.COM
MAIL=YOU@YOUR_DOMAIN.COM
 
 
function create_item_description() {
	# set java classpath
	export CLASSPATH=/media/programme/java/classpath/RitterDefault_lin.jar:/media/programme/java/classpath/ojdbc14.jar
 
	# export descriptions from db
	for i in 2 3 7; do
		java LagerlisteCreator -q "Webshop" "${SERVER}_${i}" > /tmp/${SERVER}_${i}.out
 
		if [ ! $?

Rsync SSH backup script

cat <<EOF> ~/privat/scripts/backup.ssh.sh
#!/bin/bash
 
nice -n 20 rsync -avze ssh --delete --exclude-from=/home/pako/.gvfs /home/pako pako@fs:/mnt/pakonb
EOF

UmountMemoryCard.sh

#!/bin/bash
 
# add to /etc/sudoers
# USER_NAME ALL=NOPASSWD:/bin/umount /media/USER_NAME/usbdisk-sdb1
 
DEVICE=usbdisk-sdb1
 
# clean
rm /media/${USER}/${DEVICE}/dcim/100nikon/*.jpg
sync
 
# umount
sudo /bin/umount /media/${USER}/${DEVICE}

extractEbook.sh

#!/bin/bash
 
# install
# apt-get install pdftk
 
FILE=$1
PAGES=$2
OUT=$3
 
COVER=/media/lagerliste/vorlagen/ebook/cover.pdf
 
# check if file already exists
if [ -f ${OUT} ]; then
	echo "${OUT} already exists"
	exit 0
fi
 
# get pages
pdftk A=${COVER} B="${FILE}" cat A1 B${PAGES} output /tmp/pdftk.out.pdf
 
# reduce image resolution
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -sOutputFile="${OUT}" -f /tmp/pdftk.out.pdf
 
# view
if [ -n ${DISPLAY} ]; then
	evince "${OUT}"
fi
 
 
# USAGE
# ./mkEbook.sh s02_s201.pdf 1-3  ../ebook/l83_1.1_antike.pdf

mkBackup.sh

#!/bin/bash
 
# todo
# backup desktop (check for to big files)
# backup thunderbird
# backup firefox
# backup usb pen if connected
# add state function
 
DIRS="privat mr sts cd OpenVPN"
EXCLUDE="cd/neue_hp"
DATE=$(date -I)
TARGET="${HOME}/backup/${DATE}"
STATE=0
 
function state() {
	EXIT_CODE=$1
	FILE=$2
	if [ ! -z ${FILE} ]; then
		FILE_SIZE=$(du -sh ${FILE} | cut -f1)
	fi
 
	if [ $EXIT_CODE == 0 ]; then
		printf "%5s %5s\n" "[OK]" ${FILE_SIZE}
	else
		printf "%5s\n" "[ERROR]"
		STATE=$(($STATE + 1))
	fi
}
 
# create today backup directory
[ !

formatCamcard.sh

#!/bin/bash
 
DEVICE=/dev/sdc
LABEL=CAMCARD
 
# create partition
sudo umount ${DEVICE}1
sudo fdisk ${DEVICE} << EOF
o
n
p
1
 
 
a
1
t
6
w
EOF
 
# create filesystem
sudo umount ${DEVICE}1
sudo mkfs.vfat -F 16 -n ${LABEL} ${DEVICE}1
 
# sync changes
sudo sync
 
# create directory structure
#sudo mount ${DEVICE}1 /mnt
#mkdir -p /mnt/DCIM/100NIKON
#sudo umount ${DEVICE}1

copyCd.sh

#!/bin/bash
 
 
#
# INFO
#
# 2003-09-02
# 
# copy local cd to nfs share
#
 
 
#
# VARIABLES
#
# nfs
NFS_SERVER="192.168.0.1:/music"
NFS_MOUNT="/tmp/music"
 
# cdrom
CDROM_DEVICE="/dev/hda"
CDROM_MOUNT="/tmp/cdrom"
 
 
#
# NFS
#
# share
if [ ! -d "$NFS_MOUNT" ]; then
        # create
        echo "create $NFS_MOUNT..."
        mkdir "$NFS_MOUNT" 
 
        # mount
        echo "mount $NFS_SERVER..."
        mount "$NFS_SERVER" "$NFS_MOUNT" 
fi
 
 
#
# CDROM
#
# device
if [ !

mkHomeBackup.sh

#!/bin/bash
 
for i in $(ls /home/); do
	if [ -d /home/${i} ]; then	
		echo ${i}
		tar -cjf /home/${i}.$(date -I).tar.bz2 /home/${i}
	fi
done

mkNewsletterImg.sh

#!/bin/bash
 
MAX_HEIGHT=150
DENSITY=72
TARGET=/tmp/nl_$(date -I)
SOURCE=/media/bilder/300dpi
 
# create target directory
[ -d ${TARGET} ] || mkdir ${TARGET}
 
# convert images
for i in $@; do
        IMG=${i}.jpg
        convert "${SOURCE}/${IMG}" -resize "x${MAX_HEIGHT}" -density "${DENSITY}x${DENSITY}" -sharpen "0x1" "${TARGET}/${IMG}"
        echo "${IMG}: $?"
done

syncHome.sh

#!/bin/bash
 
USER=pako
TARGET=192.168.1.224
tar zcf - /home/${USER} | ssh root@${TARGET} "cd /home/; tar zpxvf -; chown ${USER}.${USER} -R ${USER}"

Bash

# endless loop
while true
do
  YOUR_COMMAND
done
 
# read from standard input
IN=$(cat /dev/stdin); echo $IN
 
# create sequence
echo {a..x}
 
# process specified files in directory
for i in *.$1
do
	 echo "$i" "${i%$1}$2"
done
 
# ping all clients
NET=192.168.1
for i in {1..254}; do
   ping  -w 1 -c 1 ${NET}.$i > /dev/null
 
   if [ $? -eq 0 ]; then
      echo ${NET}.$i
   fi
done
 
 
# LINKS
http://www.linuxtutorialblog.com/post/tutorial-conditions-in-bash-scripting-if-statements

Send mail from console

# install
sudo apt-get install -y mailx
 
# configure postfix
postconf -e 'smtp_generic_maps = hash:/etc/postfix/generic'
cat <<EOF>> /etc/postfix/generic
root@ubuntu.example.local	info@example.com
EOF
service postfix restart
postmap /etc/postfix/generic
 
# configure smtp
cat <<EOF> ~/.mailrc 
set from="YOU@YOUR_MAIL.COM"
set smtp="YOUR_SMTP_SERVER"
set smtp-auth-user="SMTP_USER"
set smtp-auth-password="SMTP_PASS"
EOF
 
# test
echo "This is a test message from ${USER}@${HOSTNAME} at $(date)" | mail -s "Test email" YOU@YOUR_MAIL.COM
 
 
# v2
sudo apt-get install nullmailer

Do you like this page? Then support it. Please click the AD below and visit the sponsor. Thank you!

Syndicate content