您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關常用的Sheel腳本有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
顯示系統使用的以下信息:
#!/bin/bashIP=`ifconfig eth0 | head -2 | tail -1 | awk '{print $2}' | awk -F":" '{print $2}'` ZW=` ifconfig eth0 | head -2 | tail -1 | awk '{print $3}' | awk -F":" '{print $2}'` GW=`route -n | tail -1 | awk '{print $2}'` HN=`hostname` DNS=`head -1 /etc/resolv.conf | awk '{print $2}'`echo '此機IP地址是' $IPecho '此機子網掩碼是' $ZWecho '此機網關是' $GWecho '此機主機名是' $HNecho '此機DNS是' $DNS
#!/bin/bashDAY=`date +%Y%m%d` SIZE=`du -sh /var/lib/mysql`echo "Date: $DAY" >> /tmp/dbinfo.txtecho "Data Size: $SIZE" >> /tmp/dbinfo.txtcd /opt/dbbak &> /dev/null || mkdir /opt/dbbak tar zcf /opt/dbbak/mysqlbak-${DAY}.tar.gz /var/lib/mysql /tmp/dbinfo.txt &> /dev/null rm -f /tmp/dbinfo.txt crontab-e55 23 */3 * * /opt/dbbak/dbbak.sh
每備份文件保存到系統的/mysqlbak目錄里
用系統日期做備份文件名 webdb-YYYY-mm-dd.sql
每次完整備份后都生成新的binlog日志
把當前所有的binlog日志備份到/mysqlbinlog目錄下
#mkdir /mysqlbak#mkdir /mysqlbinlog#service mysqld startcd /shell#vi webdb.sh#!/bin/bashday=`date +%F` mysqldump -hlocalhost -uroot -p123 webdb > /mysqlbak/webdb-${day}.sql mysql -hlocalhost -uroot -p -e "flush logs"tar zcf /mysqlbinlog.tar.gz /var/lib/mysql/mysqld-bin.0*#chmod +x webdb.sh#crontab -e30 23 * * 7 /shell/webdb.sh
只檢查服務vsftpd httpd sshd crond、mysql中任意一個服務的狀態
如果不是這5個中的服務,就提示用戶能夠檢查的服務名并退出腳本
如果服務是運行著的就輸出 “服務名 is running”
如果服務沒有運行就啟動服務
#!/bin/bashread -p "請輸入你的服務名:" serviceif [ $service != 'crond' -a $service != 'httpd' -a $service != 'sshd' -a $service != 'mysqld' -a $service != 'vsftpd' ];thenecho "只能夠檢查'vsftpd,httpd,crond,mysqld,sshd"exit 5fiservice $service status &> /dev/nullif [ $? -eq 0 ];thhenecho "服務在線"elseservice $service startfi
if [ -z $1 ];thenecho "You mast specify a servername!"echo "Usage: `basename$0` servername"exit 2fiif [ $1 == "crond" ] || [ $1 == "mysql" ] || [ $1 == "sshd" ] || [ $1 == "httpd" ] || [ $1 == "vsftpd" ];thenservice $1 status &> /dev/nullif [ $? -eq 0 ];thenecho "$1 is running"elseservice $1 startfielseecho "Usage:`basename $0` server name"echo "But only check for vsftpd httpd sshd crond mysqld" && exit2fi
輸出192.168.1.0/24網段內在線主機的ip地址
統計不在線主機的臺數,并把不在線主機的ip地址和不在線時的時間保存到/tmp/ip.txt文件里
#!/bin/baship=192.168.1. j=0for i in `seq 10 12`doping -c 3 $ip$i &> /dev/nullif [ $? -eq 0 ];thenecho 在線的主機有:$ip$ielselet j++echo $ip$i >> /tmp/ip.txt date >> /tmp/ip.txtfidoneecho 不在線的主機臺數有 $j
用交互式的輸入方法實現自動登錄論壇數據庫,修改用戶密碼
[root@test1 scripts]# vim input.sh#!/bin/bashEnd=ucenter_members MYsql=/home/lnmp/mysql/bin/mysqlread -p "Enter a website directory : " webdir WebPath=/home/WebSer/$webdir/configecho $WebPathread -p "Enter dbuser name : " dbuserecho $dbuserread -sp "Enter dbuser password : " dbpassread -p "Enter db name : " dbnameecho $dbnameread -p "Enter db tablepre : " dbtablepreecho $dbtablepreGlobalphp=`grep "tablepre*" $WebPath/config_global.php |cut -d "'" -f8` Ucenterphp=`grep "UC_DBTABLEPRE*" $WebPath/config_ucenter.php |cut -d '.' -f2 | awk -F "'" '{print $1}'`if [ $dbtablepre == $Globalphp ] && [ $dbtablepre == $Ucenterphp ];then Start=$dbtablepre Pre=`echo $Start$End` read -p "Enter you name : " userset echo $userset Result=`$MYsql -u$dbuser -p$dbpass $dbname -e "select username from $Pre where username='$userset'\G"|cut -d ' ' -f2|tail -1` echo $Result if [ $userset == $Result ];then read -p "Enter your password : " userpass passnew=`echo -n $userpass|openssl md5|cut -d ' ' -f2` $MYsql -u$dbuser -p$dbpass $dbname -e "update $Pre set password='$passnew' where username='$userset';" $MYsql -u$dbuser -p$dbpass $dbname -e "flush privileges;" else echo "$userset is not right user!" exit 1 fielse exit 2fi
1)本機的數據庫服務是否正在運行
2)能否與主數據庫服務器正常通信
3)能否使用授權用戶連接數據庫服務器
4)本機的slave_IO進程是否處于YES狀態
本機的slave_SQL進程是否處于YES狀態
[root@test1 scripts]# vim test.sh#!/bin/bashnetstat -tulnp | grep :3306 > /dev/nullif [ $? -eq 0 ];thenecho "服務正在運行"elseservice mysqld startfiping -c 3 192.168.1.100 &> /dev/nullif [ $? -eq 0 ];thenecho "網絡連接正常"elseecho "網絡連接失敗"fimysql -h292.168.1.100 -uroot -p123456 &> /dev/nullif [ $? -eq 0 ];thenecho "數據庫連接成功"elseecho "數據庫連接失敗"fiIO= mysql -uroot -p123 -e "show slave status\G" | grep Slave_IO_Running | awk '{print $2}' > /dev/null SQL= mysql -uroot -p123 -e "show slave status\G" | grep Slave_SQL_Running | awk '{print $2}' /dev/nullif [ IO==Yes ] && [ SQL==Yes ];thenecho “IO and SQL 連接成功”elseecho "IO線程和SQL線程連接失敗"fi
感謝各位的閱讀!關于“常用的Sheel腳本有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。