课堂笔记(三月二十五日)

一,定时任务要领:

* * * * *  /bin/sh /server/scripts/bak.sh &>/dev/null

如何调试定时任务?

1、查看错误日志*****

/var/log/cron

学会最小化排除:

先清空,>/var/log/cron

然后在测试和观察。

2、增加执行任务频率调试任务 *****

  把频率调快。

3、把定时任务执行时间比当前时间拖后5分钟

    00 03执行,当前5:00,咱们就把时间调整 05 05,有个5分钟提前量。

4、调整系统时间(测试环境还凑合)

00 03执行,把系统时间调整到2:55。

5、通过脚本日志输出调试定时任务

定时任务输出

* * * * *  /bin/sh /server/scripts/bak.sh &>/tmp/bak.log

脚本输出:

tar zcvf oldboy.tar.gz  ./data &>/tmp/tar.log

案例:

企业故障案例:No space left on device常见企业故障案例

磁盘满的报错,原因往往是inode被占满了。

df -i

因为定时任务没有加&>/dev/null,定时任务执行的时候把输出给系统root发邮件。

邮件服务器postfix服务默认不开,这些给系统发的邮件就会堆在临时目录(大量小文件存在)

/var/spool/clientmqueue/      6

/var/spool/postfix/maildrop/  7

企业故障案例:程序通过手动可以执行,放定时任务里不执行。

export变量生产案例

定时任务在执行脚本的时候,多数情况没办法加载环境变量,特别是/etc/profile。

登录后怎么操作都对,但是就是放到定时任务不行。

命令行:bash登录方式

1.手工登录后,加载所有环境变量(~/.bash_profile,~/.bash_rc,/etc/profile,/etc/bashrc)

2.定时任务执行脚本属于非登录状态(/etc/bashrc)。

实践检验,定时任务能否自动加载/etc/bashrc和/etc/profile文件。

所有运维都会把变量放到此文件/etc/profile,把这个文件里的变量定义

在执行的脚本中 重新定义。

具体为crond执行Shell时只能识别为数不多的系统环境变量,普通环境变量一般是无法识别的,如果在编写的脚本中需要使用变量,最好使用export重新声明下该变量,以确保脚本正确执行。以后要将其作为一个开发基本规范写上。

二,用户管理;

用户相关文件:

/etc/passwd 用户所在文件

/etc/shadow 密码所在文件

useradd oldboy 添加用户实际上就是修改上述两个文件

passwd oldboy  改密码实际上就是修改密码所在文件

用户组相关文件:

/etc/group    用户组所在文件

/etc/gshadow  用户组密码所在文件(废弃状态)

useradd oldboy 添加用户实际上也会修改上述两个文件(因为要创建同名的用户组)

groupadd sa 添加用户组就是修改上述两个文件

/etc/passwd文件:

Linux是命令行管理,平时输入ls,cp,谁识别,帮我们把我们想要的输出呢?

这个工具就是bash(命令行解释器)。 * ? [abc]

用户登录:输入命令,希望哪个解释器解释(结尾列决定)

/etc/passwd:bingbing:x:1004:1006::/home/bingbing:/bin/bash

CentOS7默认解释器是bash。

/etc/passwd里的解释器

[root@oldboyedu ~]# awk -F ":" '{print $NF}' /etc/passwd|sort|uniq -c

      6 /bin/bash

      1 /bin/sync

      1 /sbin/halt

    18 /sbin/nologin

      1 /sbin/shutdown

[root@oldboyedu ~]# cat /etc/shells

/bin/sh

/bin/bash

/usr/bin/sh

/usr/bin/bash

bash是sh的扩展,sh是bash的软连接。

[root@oldboyedu ~]# ls -l /bin/sh

lrwxrwxrwx. 1 root root 4 Mar  4 11:15 /bin/sh -> bash

/bin/bash /server/scripts/bak.sh

[root@oldboyedu ~]# tail -1 /etc/shadow

bingbing  用户

:!!      密码

:17980    最近更改密码的时间

:0        禁止修改密码的天数

:99999    用户必须更改口令的天数

:7        警告更改密码的期限

:   在用户密码过期之后到禁用账户的天数

:   从1970年1月1日起,到用户被禁用的天数

:   保留

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容