你为什么而活,你活着的意义是啥?
为父母而活,
为自己而活
为子女,另一半
为帮助自己,爱自己的人
为国家富强
只要自身能力不是太差,只要对女生足够好,就能够搞定你想要追的女生-----老男孩老师
人性的本质就是需求的满足
需求越强连接的就越紧密,反之就会朝着陌生的方向发展。
人与人之间,只要能够持续互相满足需求
满足即快乐舒服,不满足即痛苦难受。——老男孩
需求是有机体内部的一种不平衡。“动力的重要源泉”
定时任务要领:
*\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.
`%���
�