定时任务和用户练习题
一, 系统的日志文件/var/log/secure /var/log/messages /var/log/cron会自动的进行轮询,系统是通过什么实现的?
答:系统定时任务+logrotate命令 完成对日志的切割、日志轮询:var/log/cron /seure /messagrs
1
二,写出下面特殊符号在定时任务中的含义:
答:
* 代表任何时刻都接受的意,每。
*/n 那个n代表数字,即是每隔n单位间隔的意思。
09-19 早上九点到晚上七点。
三,3. 某年某月某日某时,某人在工作中设置crontab定时任务规则保存时,提示“No space left on device”,此时用df -h检查磁盘,发现还有剩余空间.请问是什么原因及如何排查? 什么会导致这种事情发生?
答:
如果定时任务规则结尾没有加>/dev/null 2>&1或者追加到文件中
2>&1,很容易导致硬盘inode空间被占满,从而导致系统服务不正常。
排查定时任务是否书写规范,检查/var/spool/postfix/maildrop目录下是否有大量小文件堆积并清理,关闭邮件服务
建议:1,脚本使用命令的绝对路径
2,有关JAVA的定时任务脚本应该把环境变量写在开头
四,书写定时任务完成:每天晚上12点备份/etc/rc.local /etc/sysconfig/ /var/spool/cron /etc/fstab 这些文件到/backup目录
1,测试命令是否能正常打包tar -zcvf /backup/$(date +%F-%T)etc.tar.gz /etc/rc.local /etc/sysconfig/ /var/spool/cron /etc/fstab
2,把命令入脚本/servers/bak1.sh
3, 添加定时任务crontab -e
4,写入定时任务00 00 * * * /bin/sh /servers/bak1.sh >/dev/null 2>&1
5, 检查定时任务tail -f /var/log/cron
6, 检查结果ls /backup/
五,每天凌晨1点备份/var/www/html目录到/backup下面以本机ip地址命名的目录中
1,创建以IP命名的目录: mkdir /backup/`ifconfig eth0|awk 'NR==2'|awk -F "[: ]" '{print $13}'`
2,把命令tar -zcvf /backup/$(ifconfig |sed -nr '2s#^.*addr:(.*) Bc.*$#\1#gp')/html.tar.gz /var/www/html写入脚本vim /backup/bak2.sh
3,添加定时任务 00 01 * * * /bin/sh /backup/bak2.sh >/dev/null 2>&1
5, 检查定时任务tail -f /var/log/cron
6, 检查结果ls /backup/
六,每天晚上12点备份/etc/目录到/backup目录下面,并且删除7天之前的备份。
1,创建脚本:vim /servers/bak3.sh
2,编写脚本:tar -zcvf /backup/$(date +%F-%T)etc.tar.gz /etc/
find /backup/ -type f -name "*etc.tar.gz" -mtime +7 |xargs rm -f
3,添加定时任务:00 00 * * * /bin/sh /servers/beietc12.sh >>/dev/null 2>&1
4,检查日志: tail -f /var/log/cron
5,检查结果: ll /backup/
七: 简述Linux下面用户分为几类,什么是虚拟用户?怎么区分虚拟用户与普通用户
1:CentOS6,7 root 皇帝UID=0
2:虚拟用户 傀儡用户 CentOS6 UID=1-499 Cent0S7 UID=1-999
程序,服务运行的傀儡,命令解释器:/sbin/nologin
3:普通用户 CentOS6 UID>=500 CentOS7 UID>=1000
八, 创建一个uid为999的虚拟用户mysql
useradd -M mysql -u 999 -s /sbin/nologin
九,命令提示符出现-bash-4.1$如何解决
原因:用户下的与环境变量相关的隐藏文件被删除了。
解决:从其他地方复制这些隐藏文件。
方法1:从/etc/skel复制:cp /etc/skel/.bash* ~
方法2:从其他用户下复制:cp /home/lwg/.bash* ~
十: 给oldboy用户授权以root身份执行ls,touch,passwd命令,但是禁止修改root用户密码
1,首先vim sudo
2,增加 oldboy ALL=(ALL) /bin/ls, /bin/touch, /bin/passwd, !/bin/passwd root
这行
升级提一:
每天晚上12点备份/etc/目录到/backup下面的以ip地址命名的目录中,并删除目录中7天之前的备份,但是要保留每周1的
1,创建以IP命令的文件夹mkdir /backup/$(ifconfig |sed -nr '2s#^.*addr:(.*) Bc.*$#\1#gp')
2,编写脚本 vi servers/bak5
tar -zcvf /backup/$(ifconfig |sed -nr '2s#^.*addr:(.*) Bc.*$#\1#gp')/$(date +%F-%w).tar.gz /etc/
find /backup/$(ifconfig |sed -nr '2s#^.*addr:(.*) Bc.*$#\1#gp')/ -type f -name "*[0,2-6].tar.gz" -mtime +7 |xargs rm -f
3,写入定时任务:crontab -e
00 00 * * * /bin/sh /servers/bak5 >>/dev/null 2>&1
4,检查日志:
tail -f /var/log/cron
5:检查结果:
ls /backup/$(ifconfig |sed -nr '2s#^.*addr:(.*) Bc.*$#\1#gp')
升级提二:
创建10个用户stu01…stu10并设置随机8为密码(禁止使用循环for,while等)
echo oldboy{01…05}|xargs -n1|awk ‘{print "useradd "$NF}’|bash