定时任务和用户练习题

一, 系统的日志文件/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

你可能感兴趣的:(定时任务和用户练习题)