1)rsyncd脚本

[[email protected] 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 $*

执行结果
shell中rsyncd的脚本和数据库备份脚本的编写

2)数据库备份
执行script.sh $dbpasswd 备份数据库中所有库到/mnt/mysqldump目录中,备份文件名称为“库名称.sql”,当此文件存在时进入交互模式,询问动作,输入“s”跳过备份,输入“b”,备份“库名称.sql”为“库名称_backup.sql”,输入“O”时,覆盖原文件,e表示退出.

[[email protected] 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

shell中rsyncd的脚本和数据库备份脚本的编写

shell中rsyncd的脚本和数据库备份脚本的编写

相关文章: