Day 18 课堂笔记

                                                                 Day18课堂笔记

如何调试定时任务?

1,查看错误日志:/var/log/cron     

    学会最小化排除:先清空,>/var/log/cron

    然后在测试和观察

2,增加执行任务频率调试任务

      把频率调快

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

     00  03执行,当前时间为5:00,就把时间调成05  05,有个五分钟的提前量

4,把系统时间往前调(测试环境下,企业环境最好不要使用)

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

定时任务输出:

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

脚本输出:tar  zcvf  oldboy.tar.gz  ./data  &>/tmp/tar.log

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

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

代码发布流程:

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

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

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

df -i 查看inode

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

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

                                      第十四章: Linux用户管理知识与应用实践

 用户管理

用户所在文件:/etc/passwd 用户所在文件

                     /etc/shadow 密码所在文件

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

Passwd  oldboy 改密码时间上就是修改密码所在文件

用户组所在文件:/etc/group    用户组所在文件

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

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

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

Md5sum 给文件设置指纹  (计算和检查MD5数字信息)

[root@zhangxiangyu-58 ~]# md5sum /etc/passwd /etc/shadow /etc/group /etc/gshadowa3ea2ee78623f96b9bda09cb6cae63bb  /etc/passwd

51b4c87d70769782529496d022b4aeee  /etc/shadow

acfb19edb5feeb94cab0584693884dac  /etc/group

97d2d72a538205143184cf29a67e9b80  /etc/gshadow

/etc/passwd 里的解释器

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

      7 /bin/bash

      1 /bin/sync

      1 /sbin/halt

     17 /sbin/nologin

      1 /sbin/shutdown

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

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

lrwxrwxrwx. 1 root root 4 3月  4 18:49/bin/sh -> bash

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

/etc/shadow  储存用户密码信息

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

test1:!!:17977:0:99999:7:::

bingbing  用户

:!!          密码

:17980    最近更改密码的时间

:0          禁止修改密码的天数

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

:7          警告更改密码的期限

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

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

:     保留

/etc/group    用户组信息文件

[root@zhangxiangyu-58 ~]# grep incahome /etc/group

incahome:x:1004:

/etc/gshadow

[root@zhangxiangyu-58 ~]# grep incahome /etc/gshadow

incahome:!::

useradd 添加普通用户

-u 指定UID  -s指定登陆的SHELL解释器    -M 不创建家目录

[root@zhangxiangyu-58 ~]# useradd gongli -u 888 -s /sbin/nologin -M

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

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

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

默认shell就是/bin/bash

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

为什么默认的家目录/home/用户名下面有很多隐藏文件

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

[root@zhangxiangyu-58 ~]# cat /etc/default/useradd

# useradd defaults file

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=yes

修改方法:

useradd  -D  -s  /bin/sh  相当于vim编辑文件。

/etc/skel 目录,创建用户默认就会把次目录下的文件拷贝到/home/用户名下

/etc/skel  为每个用户提供用户环境变量的目录

[root@zhangxiangyu-58 ~]# ls /etc/skel -A

.bash_logout  .bash_profile  .bashrc  .mozilla 用户环境变量

添加用户要用的文件

/etc/login.defs  /etc/skel /etc/default/useradd 

编辑/etc/passwd,通过注释来删除。

#chenglong1:x:1007:1009::/home/chenglong1:/bin/sh

"/etc/passwd" 30L, 1362C written                                                             

[root@zhangxiangyu-58 ~]# su  -  chenglong1

su: user chenglong1 does not exist

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

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

zongsheng:x:9999:1003:老男孩:/home/zongsheng:/bin/sh

[root@zhangxiangyu-58 ~]# id  zongsheng

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

[root@zhangxiangyu-58 ~]# 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

usermod -u 8888 -s /bin/bash -m /home/zongsheng -g incahome -c "男孩" -e "2020/5/1" 

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

[root@zhangxiangyu-58 ~]# 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@zhangxiangyu-58 ~]# id zongsheng

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

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

zongsheng:x:8888:1004:男孩:/home/zongsheng:/bin/bash

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

usermod -u 8888 -s /bin/bash -g incahome -c "男孩" -e "2020/5/1" zongsheng

usermod -m /home/zongsheng zongsheng

不交互设置密码:

方法1:

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

Changing password for user oldgirl.

passwd: all authentication tokens updated successfully.

方法2:

[root@zhangxiangyu-58 ~]# echo 123456 >pass

[root@zhangxiangyu-58 ~]# cat pass

123456

[root@zhangxiangyu-58 ~]# passwd --stdin oldgirl

Changing password for user oldgirl.

passwd: all authentication tokens updated successfully.

[root@zhangxiangyu-58 ~]# tail -4 /etc/passwd|awk -F  ":"  '{print $1":oldboy"}'  >user.log

[root@zhangxiangyu-58 ~]# cat user.log

gongli1:oldboy

gongli2:oldboy

chenglong1:oldboy

zongsheng:oldboy

chpasswd对密码文件的要求是上述user.log

方法1:

[root@zhangxiangyu-58 ~]# chpasswd

方法2:

[root@zhangxiangyu-58 ~]# tail -4 /etc/passwd|awk -F ":" '{print $1":oldboy"}'|chpasswd 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容