美文网首页
day18 定时任务、用户管理知识

day18 定时任务、用户管理知识

作者: 藏鋒1013 | 来源:发表于2019-03-31 13:52 被阅读0次

如何调试定时任务?

1、查看错误日志。    /var/log/cron

     学会最小化排除

     先清空,>/var/log/cron

     然后在调试和观察

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

      把频率调快

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

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

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

      00 03 执行,把形同时间调整到02:55

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

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

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

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

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重新声明下该变量,以确保脚本正确执行。以后要将其作为一个开发基本规范写上。

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

用户相关文件:

            /etc/passwd 用户所在文件

            /etc/shadow 密码所在文件

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

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

用户组相关文件:

/etc /group 用户组所在文件

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

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

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

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

[root@oldboyedu ~]# md5sum /etc/passwd /etc/shadow /etc/group /etc/gshadow

2fe9f002726ed0a138d67cd44722f1a6  /etc/passwd

c2ca41415dca17f1a3dc3c286a9b9bff  /etc/shadow

c475144a13d87a400b5e16fe6bd70baf  /etc/group

659ef4f533df0fa7e457f87755fb1c27  /etc/gshadow

[root@oldboyedu ~]# useradd bingbing

文件发生变化

[root@oldboyedu ~]# md5sum /etc/passwd /etc/shadow /etc/group /etc/gshadow

39d60eff90ecd0326fe59e6464b464ad  /etc/passwd

0aa8d3b157f042876ec0190a2808a377  /etc/shadow

cee8bc6e85f9dfb9dc0a04e452e834f4  /etc/group

cdfd26351f409ee32fca53a22ad15912  /etc/gshadow

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@oldbiyedu~]# tail -1 /etc/shadow

bingbing:!!:17980:0:99999:7:::

bingbing 用户

:!!      密码

:17980    最近更改密码的时间

:0        禁止修改密码的天数

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

:7        警告更改密码的期限

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

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

:   保留

/etc/default/useradd

[root@oldboyedu ~]# 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/default/useradd文件。

不交互设置密码:

方法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 <pass

Changing password for user oldgirl.

passwd: all authentication tokens updated successfully.

chpasswd对密码文件的要求:

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

[root@oldboyedu ~]# cat user.log

gongli1:oldboy

gongli2:oldboy

chenglong1:oldboy

zongsheng:oldboy

方法1:

[root@oldboyedu ~]# chpasswd<user.log

方法2:

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

$1":oldboy"}'|chpasswd

相关文章

  • day18 定时任务、用户管理知识

    如何调试定时任务? 1、查看错误日志。 /var/log/cron 学会最小化排除 先清空,>/var/...

  • Day24--操作系统磁盘管理(2)

    知识梳理复习用户管理知识补充和组相关命令 groupadd groupmod groupdel系统定时任务概念定...

  • 2019-07-31定时任务

    定时任务 定时任务实现方法 系统默认定时任务 用户自定义设置定时任务 定时任务配置文件 定时任务启动 定时任务样例...

  • crontab 定时任务

    查看当前用户的定时任务列表 创建(编辑)定时任务列表 定时任务格式 删除定时任务 注意 一定要设置crontab的...

  • Linux定时任务

    >>>crontab -l #显示当前用户所有定时任务 >>>crontab -e #进入编辑定时任务模式 ...

  • crontab使用

    普通用户创建定时任务: ​ crontab -e #给自己创建定时任务 ​ cron...

  • day18-定时任务补充和用户管理知识

    定时任务要领: 尽量使用脚本编写定时用户,输出定向到空 * * * * * /bin/sh /server/scr...

  • linux用户基础

    作者:马帅琦 归档:day18 时间:2019/3/25 如何调适定时任务 1查看错误日志 /var/log/cr...

  • linux下普通用户的定时任务

    普通用户定义crontab定时任务: 比如oracle用户定义一个定时任务:每分钟打印当前目录 [oracle@n...

  • crontab 基本使用

    基本命令: 编辑定时任务:crontab -e 查看任务:crontab -l 删除当前用户下的所有定时任务:cr...

网友评论

      本文标题:day18 定时任务、用户管理知识

      本文链接:https://www.haomeiwen.com/subject/nmgvvqtx.html