Linux服务器上有用的脚本

MYSQL自动备份脚本并压缩打包,并自动删除N天前的备份文件

#!/bin/sh
echo "准备删除60天之前的备份文件"
find /java/mysql_backup/ -mtime +30  -name "*.gz" -exec rm -rf {} \;
echo " 准备备份MYSQL"
# 变量定义=两边不能有空格
databaseName="zcxy.sql";
cd /java/mysql_backup/
SqlBakName="_zcxy_sql_$(date +%Y%m%d_%H%M%S).tar.gz"
mysqldump --user=root --password=admin --add-drop-table --max_allowed_packet=25165825 --net_buffer_length=16384 -c zcxy  > ${databaseName}
echo " 备份MYSQL成功"
tar zcvf ${SqlBakName} ${databaseName}
echo " 压缩成功"+${databaseName}
rm -f ${databaseName}
echo " 删除临时文件成功"
echo "开始FTP上传"
ftp -n<<!
open $FPT_Server
user $ftp_user $ftp_pwd
binary
cd $remote_dir
#此处的本地文件夹必须有,下面的mput不能直接指定全路径,不知为何
lcd $local_dir
prompt
mput test.txt
close
bye
!

Tomcat自动部署,并备份当前源程序

#!/bin/sh
echo " 准备部署 ztzx.war"
#变量定义
FTP_WAR_PATH="/ftp/zcxy.war"
TOMCAT_PATH="/java/tomcat7/"
APP_BACKUP_PATH="/java/ztzx_backup/";
BACKUP_DIR="/java/app_backup/zcxy_$(date +%Y%m%d)/"
echo "准备备份zcxy程序到${BACKUP_DIR}"
if [ -d "$BACKUP_DIR" ];then
    echo "${BACKUP_DIR}存在,无需创建"
else
   echo "${BACKUP_DIR}不存在,准备创建"
   mkdir  ${BACKUP_DIR}
fi
echo "备份当前工程"
cp -rf /java/tomcat7/webapps/zcxy/*  ${BACKUP_DIR}
echo "关闭tomcat7"
/java/tomcat7/bin/shutdown.sh
echo "删除tomcat7 下的 ztzx.war 和 ztzx 文件夹"
sleep 10s
rm -rf /java/tomcat7/webapps/zcxy.war
rm -rf /java/tomcat7/webapps/zcxy/
echo "复制新的war到tomcat7 下"
cp /ftp/zcxy.war /java/tomcat7/webapps/
sleep 5s
echo "启动tomcat7"
/java/tomcat7/bin/startup.sh

通过SNMP 获取某设备的基本信息,写入MYSQL数据

#!/bin/bash
ip=10.10.10.10
host=127.0.0.1
port=3306
user=mysqluser
password=password
dbname=dbname
community=public
tag=core_interchanger_2
dev_id=1
curr=`date '+%Y-%m-%d %H:%M:%S'`
#此处获取交换机的温度信息
tp=`snmpwalk -v2c -c ${community}  ${ip}  1.3.6.1.4.1.25506.2.6.1.1.1.1.12.1 |awk -F ' ' '{print $4}'`
echo "获取温度成功:" $tp
/usr/bin/mysql -h${host}  -P${port}  -u${user}  -p${password} -N -e "delete from  $dbname.netdev_status where dev_id='${dev_id}';"
   /usr/bin/mysql -h${host}  -P${port}  -u${user}  -p${password} -N -e "insert into $dbname.netdev_status(tag,tp,update_time,dev_id) value ('${tag}','${tp}','${curr}','${dev_id}')"
etho "温度写入数据库成功"


你可能感兴趣的:(Linux服务器上有用的脚本)