1)rsyncd脚本
[root@localhost mnt]# cat rsyncd.sh
#!/bin/bash
. /etc/init.d/functions
function usage() {
echo $"usage:$0 {start|stop|restart}"
exit 1
}
function start() {
rsync --daemon
sleep 1
if [ `netstat -antlpe | grep rsync | wc -l` -ge 1 ];then
action "rsyncd is started." /bin/true
else
action "rsyncd is started." /bin/false
fi
}
function stop() {
killall rsync &> /dev/null
sleep 1
if [ `netstat -antlpe | grep rsync | wc -l` -eq 0 ];then
action "rsyncd is stoped." /bin/true
else
action "rsyncd is stoped." /bin/false
fi
}
function main() {
if [ $# -ne 1 ];then
usage $0
fi
case $1 in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
usage $0
;;
esac
}
main $*
执行结果
2)数据库备份
执行script.sh $dbpasswd 备份数据库中所有库到/mnt/mysqldump目录中,备份文件名称为“库名称.sql”,当此文件存在时进入交互模式,询问动作,输入“s”跳过备份,输入“b”,备份“库名称.sql”为“库名称_backup.sql”,输入“O”时,覆盖原文件,e表示退出.
[root@localhost mnt]# cat beifen.sh
#!/bin/bash
for a in `mysql -uroot -p123 -e "SHOW DATABASES;" |sed '1,2d'|egrep -v "mysql|schema"`
do
if [ -e "/mnt/mysqldump/$a.sql" ];then
echo "$a alreadly beifen"
while true
do
echo -e "
s:skip
b:beifen
o:fugai
q:exit
"
read -p "INPUT YOUR CHOOSE:" b
case $b in
s)
;;
b)
mysqldump -uroot -p123 $a >> /mnt/mysqldump/${a}_backup.sql
ls /mnt/mysqldump
;;
o)
mysqldump -uroot -p123 $a > /mnt/mysqldump/${a}.sql
ls /mnt/mysqldump
;;
q)
exit
;;
esac
done
else
mysqldump -uroot -p123 $a > /mnt/mysqldump/${a}.sql
echo "$a alrealy beifen"
fi
done