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

2019-03-31  本文已影响0人  不吃鱼的猫er

定时任务要领:

尽量使用脚本编写定时用户,输出定向到空

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

如何调试定时任务:

1.查看错误日志 /var/log/cron

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

    然后再测试和观察

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

    把频率调快

3.把定时任务执行时间调整至比当前时间拖后5分钟

    先测试

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

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

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

用户管理知识

用户相关文件:

/etc/passwd   用户信息所在文件

/etc/shadow   用户密码信息所在文件

用户组相关文件:

/etc/group  用户组信息所在文件

/etc/gshadow  用户组密码信息所在文件

/etc/skel  模版目录

案例:

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

[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 ~]$

-sh-4.2$ export PS1='[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\]]\$'

[chenglong1@oldboyedu ~]$

上一篇 下一篇

猜你喜欢

热点阅读