文件路径:/www/wdlinux/wdcp/shell/
web网站备份 sitebackup.sh
#!/bin/bash
# wdcp tools
# web backup
# author wdlinux
# url http://www.wdlinux.cn
sdir="/www/web"
wdir="/www/wdlinux/wdcp"
#判断是否有logs目录,没有的话新建log目录
tld="/www/wdlinux/wdcp/logs"
[ ! -d $tld ] && mkdir -p $tld
tlf=$tld/task.log
[ -f $wdir/conf/bdir.conf ] && bdir=`cat $wdir/conf/bdir.conf`
[ -z $bdir ] && bdir="/www/backup"
bdir=$bdir"/site"
[ ! -d $bdir ] && mkdir -p $bdir
#日期
ft=`date +%Y%m%d%H`
dfn=$bdir/"site_"${ft}.tar.gz
tar zcvf $dfn $sdir
echo -n "site backup success " >> $tlf && date >> $tlf && exit 0
在/www/wdlinux/wdcp/shell中的脚本加入以下代码
find ${bdir} -mtime +10 -name "*.*" -exec rm -rf {} \;
数据库备份 mysqlbackup.sh
#!/bin/bash
# wdcp tools
# mysql backup
# author wdlinux
# url http://www.wdlinux.cn
wdir="/www/wdlinux/wdcp"
sdir="/www/wdlinux/mysql/data"
[ -d $sdir ] || sdir="/www/wdlinux/mysql/var"
mdbin="/www/wdlinux/mysql/bin/mysqldump"
dumpf="/www/wdlinux/wdcp/conf/mdump.cnf"
[ -f /www/wdlinux/wdcp/conf/mrpw.conf ] || exit
mrpw=`cat /www/wdlinux/wdcp/conf/mrpw.conf`
tld="/www/wdlinux/wdcp/logs"
[ -d $tld ] || mkdir -p $tld
tlf=$tld/task.log
/www/wdlinux/mysql/bin/mysql -uroot -p$mrpw -e "use mysql;"
[ $? == 0 ] || (echo -n "mysql pw err " >> $tlf && date >> $tlf && exit 1)
[ -f $wdir/conf/bdir.conf ] && bdir=`cat $wdir/conf/bdir.conf`
[ -z $bdir ] && bdir="/www/backup"
bdir=$bdir"/mysql"
[ -d $bdir ] || mkdir -p $bdir
ft=`date +%Y%m%d%H`
dfn=$bdir/"mysql_"${ft}.tar.gz
cd $sdir
if [ -f $dumpf ];then
for d in `ls -d */ | grep -v performance`;do n=`echo $d | tr -d "/"`;$mdbin --defaults-extra-file=$dumpf $n --events -l | gzip > $bdir/${n}_${ft}.sql.gz;done
else
for d in `ls -d */ | grep -v performance`;do n=`echo $d | tr -d "/"`;$mdbin -uroot -p$mrpw $n --events -l | gzip > $bdir/${n}_${ft}.sql.gz;done
find ${bdir} -mtime +10 -name "*.*" -exec rm -rf {} \;
fi
echo -n "mysql backup success " >> $tlf && date >> $tlf && exit 0
重启nginx apache webrestart.sh
#!/bin/bash
# wdcp tools
#
# author wdlinux
# url http://www.wdlinux.cn
tld="/www/wdlinux/wdcp/logs"
[ ! -d $tld ] && mkdir -p $tld
tlf=$tld/task.log
netstat -lnpt | grep nginx && killall -9 nginx && service nginxd start && date >> $tlf && echo "nginx restart success" >> $tlf
netstat -lnpt | grep httpd && killall -9 httpd && service httpd start && date >> $tlf && echo "apache restart success" >> $tlf && exit 0
date >> $tlf && echo "web restart fail" && exit 1
挂载数据盘 wdcp_disk_xvdb.sh
#!/bin/sh
disk='/dev/xvdb'
dir='/www'
chk_fstab_1=`grep ${dir} /etc/fstab | wc -l`
chk_fstab_2=`grep ${disk}1 /etc/fstab | wc -l`
if [ $chk_fstab_1 -ne 0 ]; then
exit
fi
if [ $chk_fstab_2 -ne 0 ]; then
exit
fi
fdisk_exit=`fdisk -l | grep ${disk} | wc -l`
fdisk_done=`fdisk -l | grep ${disk}1 | wc -l | tr -d " "`
if [ $fdisk_exit -ne 0 ]; then
if [ $fdisk_done -ne 1 ]; then
echo -e "\n\nfdisk $disk ..."
fdisk $disk <<EOF
n
p
1
w
EOF
partprobe
fi
else
exit
fi
sleep 10
has_format=`tune2fs -l ${disk}1 2>1 | grep "Filesystem UUID"|wc -l`
if [ $has_format -eq 0 ]; then
echo -e "\n\nmkfs.ext3 $disk ..."
mkfs.ext3 ${disk}1
fi
I_N=0
if [ ! -d ${dir} ]; then
mkdir $dir
else
service wdapache stop
service pureftpd stop
service httpd stop
service mysqld stop
service nginxd stop
mv /www /wwwo
mkdir /www
I_N=1
fi
echo -e "\n\nmount $disk ..."
mount ${disk}1 $dir &> /dev/null
if [ $I_N -eq 1 ];then
mv /wwwo/* /www/
service wdapache start
service pureftpd start
service httpd start
service mysqld start
service nginxd start
fi
chk_mount=`mount | grep /dev/xvdb1 | wc -l`
if [ $chk_mount -eq 1 ];then
echo "${disk}1 $dir ext3 defaults 0 0" >> /etc/fstab
fi
echo
echo "All Is OK"
echo
更新补丁
#!/bin/bash
#wdcp update
rm -f update_v3.sh
wget http://down.wdlinux.cn/in/update_v3.sh -c
sh update_v3.sh
删除面板 IP和 url 限制
#!/bin/bash
# wdcp tools
# wdcp login cip
# author wdlinux
# url http://www.wdlinux.cn
###
[ -f /www/wdlinux/wdcp/conf/ip.conf ] && rm -f /www/wdlinux/wdcp/conf/ip.conf
[ -f /www/wdlinux/wdcp/conf/url.conf ] && rm -f /www/wdlinux/wdcp/conf/url.conf
service wdcp restart
echo "Clean is OK!"
echo
重置 WDCP 后锁定
#!/bin/bash
# wdcp tools
# wdcp login cip
# author wdlinux
# url http://www.wdlinux.cn
###
[ -f /www/wdlinux/wdcp/tmp/login.lock ] && rm -f /www/wdlinux/wdcp/tmp/login.lock
service wdcp restart
echo "Clean is OK!"
echo
检查 FTP #!/bin/bash
# wdcp tools
# pureftpd conf check
# author wdlinux
# url http://www.wdlinux.cn
echo
cd /www/wdlinux/wdcp && /www/wdlinux/wdcp/wdcp $0
service pureftpd restart
echo "Check OK"
重置mysql 数据库密码
#!/bin/bash
# wdcp tools
# Change mysql root password
# author wdlinux
# url http://www.wdlinux.cn
###
echo "Repairing..."
pwd=$(expr substr "$(echo $RANDOM | md5sum)" 1 8)
dver=`/www/wdlinux/mysql/bin/mysql_config --version`
service mysqld stop > /dev/null 2>&1
/www/wdlinux/mysql/bin/mysqld_safe --skip-grant-tables --socket=/tmp/mysql.sock > /dev/null 2>&1 &
echo $pwd > /www/wdlinux/wdcp/conf/mrpw.conf
sleep 3
if echo $dver | grep -Eqi '^5.7.|^8.0.'; then
/www/wdlinux/mysql/bin/mysql -uroot -p" " -e "flush privileges;alter user 'root'@'localhost' identified by '$pwd';alter user 'root'@'127.0.0.1' identified by '$pwd';";
else
/www/wdlinux/mysql/bin/mysql -uroot -p" " -e "use mysql;update user set password=password('$pwd') where user='root';flush privileges;"
fi
killall -q mysqld_safe mysqld
sleep 3
service mysqld restart
sleep 3
service wdcp restart > /dev/null 2>&1
echo
echo "New Mysql Root Password:"$pwd
echo