定时任务要领:
1、 * * * * * /bin/sh /server/scripts/bak.sh &>/dev/null
如何调试定时任务?
① 查看错误日志
/var/log/cron
学会最小化排除:
先清空, >/var/log/cron 然后在测试和观察。
② 增加执行任务频率调试任务
把频率调快
③ 把定时任务执行时间比当前时间拖后5分钟
00 03执行,当前5:00,咱们就把时间调整05 05,有个5分钟提前量。
④ 调整系统时间(测试环境还凑合)
00 03 执行,把系统时间调整到2:55
⑤ 通过脚本日志输出调试定时任务
定时任务输出 * * * * *
脚本输出:
tar zcvf oldboy.tar.gz ./data >/tmp/tar.log
注意点:有时候程序只能执行一次。一定要在测试环境测试好,然后直接复制到正式。
代码发布流程:
办公室测试环境===>IDC机房测试环境===>IDC机房正式环境
防止在正式环境发生错误,从而影响用户体验,业务稳定。
磁盘满的报错,原因往往是inode被占满了。
因为定时任务没有加&>/dev/null,定时任务执行的时候把输出给系统root发邮件。
邮件服务器postfix服务默认不开,这些给系统发的邮件就会推在临时目录
手动可以执行,放定时任务里不执行
第14章 Linux用户管理知识与应用实践
14.1 用户及用户组配置文件介绍
14.1.1 用户管理:
用户相关文件:
/etc/passwd 用户所在文件
/etc/shadow 密码所在文件
useradd oldboy 添加用户实际上就是修改上述两个文件
passwd oldboy 改密码实际上就是修改密码所在文件
用户组相关文件:
/etc/group 用户组所在文件
/etc/gshadow 用户组密码所在文件(废弃状态)
useradd oldboy 添加用户实际上也会修改上述两个文件(因为要创建同名的用户组)
groupadd sa 添加用户组
Linux是命令行管理,平时输入ls,cp谁识别,帮我们把我们想要的输出呢?
这个工具就是bash(命令行编辑器) centos7默认解释器bash
passwd的shell解释器
/bin/bash
/sbin/nologin
/bin/sync
/sbin/shutdown
/sbin/halt
image.png
cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
14.1.2 Linux系统用户组相关配置文件
1、 用户组信息文件 /etc/group image.png image.png给开发等人员添加用户,尽量给截止时间。
/etc/default/useradd文件 useradd命令的配置文件
默认shell’就是/bin/bash
修改方法:
/etc/skel 目录,创建目录默认就会把此目录下的文件拷贝到/home/用户名下。
/etc/skel 为每个用户提供用户环境变量的目录。
登录系统后,命令行出现如下提示:为什么?
image.png
[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
passwd :修改用户密码
不交互设置密码:
方法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.
网友评论