1、管理员用户登陆系统时,可以使用如下方式,开启并闭系统服务
服务名 start|restart|stop|status
sshd start
答案:
#tail /etc/bashrc
export PATH=/etc/init.d:$PATH
#source /etc/bashrc
2、每周日晚上23:30对数据库服务器webdb数据库做完整备份,把备份文件保存到/mysqlbak文件里,用系统日期做备份文件名
答案:
#crontab -e
30 23 * * 7 /usr/bin/mysqldump -h1.1.1.1 -uroot -padmin123 webdb > /mysqlbak/`date +%F`.sql
3、root用户登陆时,每打开一个新的终端时输出当前登陆终端的用户数
答案:
#tail -2 /etc/profile
yonghu=`who`
echo $yonghu
source /etc/profile
4、定义别名命令grep =‘grep --color‘ 只有系统Jim用户可以使用
答案:
#useradd jim
#su - jim
#tail -1 ~/.bashrc
alias grep="grep --color"
#source ~/.bashrc
5、把系统管理员记录历史记录的条目数改为500
答案:
#vi /etc/profile
...
39 HISTSIZE=500
...
6、root用户登陆系统时显示 当天的日期和网页目录的空间大小
答案:
#tail -4 ~/.bashrc
kongjian=`du -sh`
shijian=`date`
echo $kongjian
echo $shijian
#source /etc/profile
7、所有用户登陆系统后打开新的终端时,都在终端上显示,打开终端时的时间
答案:
#tail -2 /etc/profile
shijain=`date`
echo $shijian
#source /etc/profile
8、定义变量school=tarena 让所有用户登陆系统后都可以使用,编写的脚本里也可以使用
答案:
#tail -1 /etc/profile
export school=tarena
9、使用任意一个系统账号登陆系统,都显示当前系统运行的进程数、
物理内存的使用量、根分区的使用量
答案:
#tail -6 /etc/bashrc
export jinchenag=`ps aux | wc -l`
export neicun=`free -m | grep Mem | awk ‘{print $3}‘`
export cipan=`df -hT` | grep /dev/sdb3 | awk ‘{print $4}‘
echo $neicun
echo $cipan
echo $jincheng
#source /etc/profile
10、管理员用户登陆系统后每打开一个新终端都显示当前系统
运行的进程数、物理内存的使用量、根分区的使用量
答案:
#tail -6 ~/.bashrc
export jinchenag=`ps aux`
export neicun=`free -m | grep Mem | awk ‘{print $3}‘`
export cipan=`df -hT | grep /dev/sda3 | awk ‘{print $4}‘`
echo $neicun
echo $cipan
echo $jincheng
#source /etc/profile
11、
vim pri.sh
#!/bin/bash
echo "当前所在的目录是:"
pwd
echo
echo "文件列表信息如下"
ls
12、
read 从健盘输入内容为变量赋值
read [-p "提示信息"]变量名
-p 提示信息
-t 等待输入数据的时间
stty -echo 终端输出不显示
stty echo 恢复终端输出显示
#!/bin/bash
stty -echo
read -t 5 -p "please your name:" name
echo
read -t 5 -p "please your age:" age
echo
echo $name $age
stty echo
13、备份MySQL数据库服务器上所有的binlog日志文件到系统的/binbak文件里
把备份目录/binbak打包压缩到系统的根目录下,用系统日期做打包压缩文件名,
打包压缩成功后把当前所有的binlog日志删除重新生成binlog日志文件(续上)
#vi bakbinlog.sh
cp /var/lib/mysql/mysqld-bin.0* /binbak
tar zcf `date +%F`.tar.gz /binbak
mv /shell/* .tar.gz /
rm -rf /binbak/*
#chmod +x /shell/bakbinlog.sh
#./bakbinlog.sh
#crontab -e
30 23 * * * /shell/bakbinlog.sh
14、list_sys_status.sh
显示系统使用的以下信息:
主机名、IP地址、子网掩码、网关、DNS服务器IP地址信息
#!/bin/bash
IP=`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地址是‘ $IP
echo ‘此机子网掩码是‘ $ZW
echo ‘此机网关是‘ $GW
echo ‘此机主机名是‘ $HN
echo ‘此机DNS是‘ $DNS
15、mysqlbak.sh备份数据库目录脚本
#!/bin/bash
DAY=`date +%Y%m%d`
SIZE=`du -sh /var/lib/mysql`
echo "Date: $DAY" >> /tmp/dbinfo.txt
echo "Data Size: $SIZE" >> /tmp/dbinfo.txt
cd /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-e
55 23 */3 * * /opt/dbbak/dbbak.sh
16、每周日半夜23点半,对数据库服务器上的webdb库做完整备份
每备份文件保存到系统的/mysqlbak目录里
用系统日期做备份文件名 webdb-YYYY-mm-dd.sql
每次完整备份后都生成新的binlog日志
把当前所有的binlog日志备份到/mysqlbinlog目录下
#mkdir /mysqlbak
#mkdir /mysqlbinlog
#service mysqld start
cd /shell
#vi webdb.sh
#!/bin/bash
day=`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 -e
30 23 * * 7 /shell/webdb.sh