2019-03-25课堂笔记

你为什么而活,你活着的意义是啥?

为父母而活,

为自己而活

为子女,另一半

为帮助自己,爱自己的人

为国家富强


只要自身能力不是太差,只要对女生足够好,就能够搞定你想要追的女生-----老男孩老师

人性的本质就是需求的满足

需求越强连接的就越紧密,反之就会朝着陌生的方向发展。

人与人之间,只要能够持续互相满足需求

满足即快乐舒服,不满足即痛苦难受。——老男孩

需求是有机体内部的一种不平衡。“动力的重要源泉”





定时任务要领:

*\1 * * * * /bin/sh /server/scripts/bak.sh

&>/dev/null


如何调试定时任务?

[if !supportLists]1、 [endif]查看错误日志

/var/log/cron

         学会最小化排除:

先清空,>/var/log/cron

然后在测试和观察。

[if !supportLists]2、 [endif]增加执行任务频率调试任务

把频率调快。

[if !supportLists]3、 [endif]把定时任务执行时间比当前时间拖后5分钟

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

[if !supportLists]4、 [endif]调整系统时间(测试环境还凑合)

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

[if !supportLists]5、 [endif]通过脚本日志输出调试定时任务

定时任务输出:

*\1 * * * * /bin/sh /server/scripts/bak.sh&>/tmo/bak.log

脚本输出:

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


注意点:

有时候程序只能执行一次。一定要在测试环境测试好,然后直接复制到正式。

代码发布流程:

办公室测试环境===》IDC机房测试环境====》IDC机房正式环境

防止正在环境发生错误,从而影响用户体验,业务稳定。


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

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

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

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

/var/spool/clientmqueue/      6

/var/spool/postfix/maildrop  7



程序通过手动可以执行,定时任务里不执行。

Export变量生产案例


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

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


命令行:bash登陆方式

[if !supportLists]1. [endif]手工登陆后,加载所有环境变量(~/.bash_profile,~/.bash_rc,/etc/profile,/etc/bashrc)

[if !supportLists]2. [endif]定时任务执行脚本属于非登陆状态(/etc/bashrc)

[if !supportLists]3. [endif]实践检验。定时任务能够自动加载/etc/bashrc和/etc/profile文件。


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

在执行的脚本中   重新定义



Linux 用户管理知识与应用实践知识



用户管理知识:


用户相关的文件:

/etc/passwd 用户所在文件

/etc/shadow 密码所在文件

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

Passwd odboy  改密码实际上就是修改密码所在的文件



组相关文件:

/etc/group     用户组所在文件

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

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

Groupadd sa 添加用户组就是修改上诉两个文件




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

这个工具就是bash(命令行解释器). *

? [adc]


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




[root@quyunlong~]#

awk -F ":" '{print $NF}' /etc/passwd|sort|uniq -c

      5 /bin/bash

      1 /bin/sync

      1 /sbin/halt

     17 /sbin/nologin

      1 /sbin/shutdown

[root@quyunlong~]#



[root@quyunlong~]#

tail -1 /etc/shadow

Ntp            用户

:!!               密码

:17977      最近更改密码的时间

:                          禁止修改密码的天数

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

:                          警告更改密码的期限

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

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

:                          保留



/etc/group

/etc/gshadow

[root@quyunlong~]#tail -1 /etc/passwd

gongli:x:888:1006::/home/gongli:/sbin/nologin

[root@quyunlong~]#


给开发等人员添加用户,尽量给截至时间。



/etc/default/useradd文件 useradd命令的配置文件

默认shell就是/bin/bash

为什么默认的家目录在home下

为什么默认的家目录/home/用户名下面有很多隐藏文件,从哪来的呢?


就是/etc/default/useradd文件配置的。

修改方法:

Useradd –D –s/bin/sh 相当于vim编辑文件




登录系统后,命令行出现如下提示:为什么?

[root@oldboyedu /home/chenglong1]# su - chenglong1

-sh-4.2$

-sh-4.2$

解答:用户的环境变量缺失导致的。执行如下命令解决

-sh-4.2$ cp /etc/skel/.bash* .

-sh-4.2$ source ./.bash_profile ./.bashrc

[chenglong1@oldboyedu ~]$

[chenglong1@oldboyedu ~]$





添加用户要用的文件

/etc/login.defs          了解

/etc/skel

/etc/default/useradd


[root@oldboyedu ~]# useradd -u 999 -s /bin/sh -M -g sa -c "老男孩" -e "2019/5/1" zongsheng

useradd: UID 999 is not unique

You have new mail in /var/spool/mail/root

[root@oldboyedu ~]# useradd -u 9999 -s /bin/sh -M -g sa -c "

老男孩" -e "2019/5/1" zongsheng

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

zongsheng:x:9999:1003:

老男孩:/home/zongsheng:/bin/sh

[root@oldboyedu ~]# id zongsheng

uid=9999(zongsheng) gid=1003(sa) groups=1003(sa)

[root@oldboyedu ~]# chage -l zongsheng

Last password change : Mar 25, 2019

Password expires : never

Password inactive : never

Account expires : May 01, 2019

Minimum number of days between password change: 0

Maximum number of days between password change: 99999

Number of days of warning before password expires: 7



[root@oldboyedu ~]# usermod -u 8888 -s /bin/bash -g incahome -c "男孩" -e "2020/5/1" zongsheng

[root@oldboyedu ~]# chage -l zongsheng

Last password change : Mar 25, 2019

Password expires : never

Password inactive : never

Account expires : May 01, 2020

Minimum number of days between password change: 0

Maximum number of days between password change: 99999

Number of days of warning before password expires: 7

[root@oldboyedu ~]# id zongsheng

uid=8888(zongsheng) gid=1004(incahome) groups=1004(incahome)

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

zongsheng:x:8888:1004:

男孩:/home/zongsheng:/bin/bash

You have new mail in /var/spool/mail/root











不交互设置密码:方法1:

[root@oldboyedu ~]# echo 123456|passwd --stdin oldgirl

Changing password for user oldgirl.

passwd: all authentication tokens updated successfully.

方法2:

[root@oldboyedu ~]# echo 123456 >pass

[root@oldboyedu ~]# cat pass

123456

[root@oldboyedu ~]# passwd --stdin oldgirl 

Changing password for user oldgirl.

passwd: all authentication tokens updated successfully.

`%���

你可能感兴趣的:(2019-03-25课堂笔记)