1、 写一个备份Apache日志的shell,并配合crontab制定周期性的备份计划,要求保留最近7天的备份文件,删除7天以前的备份文件。
A:编写shell实现备份删除日志
mkdir /root/shells
vim /root/shells /apachelog_bak.sh
脚本内容:
#!/bin/bash
T=`date "+%Y%m%d"`
makefile=`mkdir
/mnt/apalog_bak/beifen-${T}`
cp /var/log/httpd/* /mnt/apalog_bak/*${T} && echo "今日apache日志备份完成!"
dellog=`find /mnt/apalog_bak -mtime +7`
rm -rf $dellog && echo "删除七日前日志成功"
B:创建crontab表,调用shell
crontab -e
* 23 * * * bash /root/shells/apachelog_bak.sh
2、写一个判断分数的脚本。
Vim /root/shells/grade.sh
脚本内容:
#!/bin/bash
read -p "请输入您的分数(0-100):"grade
if [ $grade -ge 90 ] && [ $grade -le 100 ]
then
echo "$grade分!优秀"
elif [ $grade -ge 75 ] && [ $grade -le 89 ]
then
echo "$grade分!良好"
elif [ $grade -ge 60 ] && [ $grade -le 74 ]
then
echo "$grade分!及格"
else
echo"$grade分!不及格"
fi
3、批量创建50个用户并设置密码,批量删除用户。
要求用户名为stu1—stu50 密码与用户名相同。
A:批量新建用户,修改密码
# vim /root/shells/addusers.sh
#!/bin/bash
for i in {1..50}
do
username=stu$i
useradd $username
touch pass.txt
$username &> pass.txt
passwd --stdin $username < pass.txt
done
B:批量删除用户
#vim /root/shells/del.sh
#!/bin/bash
for i in {1..50}
do
username=stu$i
userdel -r $username
done
4、安装vsftpd服务
Vim /root/shells/ivsftp.sh
#!/bin/bash
rpm -qa |grep vsftpd &>/dev/null
if [$? –eq 1 ]
then
yum install -y vsftpd &>/dev/null && echo "vsftpd安装成功"
else
echo "服务已存在"
fi
测试:
同理可编写一个可以安装自定义服务的shell:
Vim /root/shells/yumins.sh
#!/bin/bash
read -p "请输入您想安装的服务:" sename
rpm -qa | grep $sename &>/dev/null
if [ $? -eq 1 ]
then
yum install -y $sename &>/dev/null && echo "服务安装成功"
else
echo "服务已存在"
fi