用户管理查看命令
id whoami w
last --- 记录系统有哪些用户曾经登录过
lastlog --- 记录系统中所有用户,登录系统使用情况
系统相关检查命令
top --- 检查负载情况 检查内存使用 检查CPU使用情况
每个进程消耗的系统资源情况
us: 用户态信息:时间消耗
sy: 内核态信息:时间消耗
id: 空闲状态:
htop --- top一个升级版
iotop --- 检查确认磁盘的IO消耗情况
free
iftop --- 检查网络带宽使用情况
netstat(ss) -lntup|grep ssh --- 检查网络状态信息命令 已知服务,获得对应端口号
-l 列表显示网络服务状态信息
-n 网络中的端口号码以数字形式显示
-t 显示网络的tcp协议服务信息
-u 显示网络的udp洗衣服务信息
-p 网络协议服务进程信息进行显示
lsof -i:端口号 --- 检查网络服务信息 已知端口号,获得对应服务进程名
安全操作命令
chattr 将文件数据进行上锁命令
+i 对文件进行上锁
-i 对文件进行解锁
lsattr 查看文件锁定状态
-
定时任务介绍
作用说明:自动备份数据 自动同步时间 自动清空数据
闹钟 Alarmy 叫醒方式:算法(加减乘除 2位) 动作(5次) 拍照()
实现方法:cronie
实现方式:系统默认定时任务
/etc/cron.daily --- 每天执行的任务
logrotate 脚本 --- 实现日志文件切割功能
切割文件过程
01. 将源文件进行重命名 注意:一般与cron打头的都跟定时任务有关
02. 重启程序服务,生成源文件
/etc/cron.hourly --- 每小时执行的任务
/etc/cron.monthly --- 每个月执行的任务
/etc/cron.weekly --- 每周执行的任务自定义定时任务 一个命令: crontab -l --- 显示定时任务配置信息 crontab -e --- 编写定时任务配置信息 visudo 两个文件: /var/spool/cron/root(oldboy) --- root用户编写的定时任务配置信息 ---这个文件是没有检查功能,编写错误是无法检查出来的 /var/log/cron --- 定时任务日志文件(排错) /etc/cron.deny --- 定义定时任务用户黑名单 (了解)
-
定时任务编写方法:
准备工作:定时任务服务是否开启
[oldboy@oldboyedu62 ~]$ ps -ef|grep cron
root 6389 1 0 Jun23 ? 00:00:01 /usr/sbin/crond -n
systemctl status crond.service
编写定时任务:crontab -e
格式信息:- 具体做的事情
测验01:每天晚上9:30 上床睡觉 30 21 * * * 上床睡觉
测验02:每天早上7:00 起床上学 00 07 * * * 起床上学
测验03:每隔1个小时 下课休息 * */1 * * * 休息时间
测验04:上午10点整 11点整 12点整 都要进行休息 00 10-12 * * * 进行休息
测验05:上午10点整休息 12点整 下午 15点整 下午 17点整 00 10,12,15,17 * * * 进行休息
- 具体做的事情
每 每分钟 每小时 每天 每月 每周
/ 每隔 */1 每隔一分钟 每隔1小时
- 间隔(连续)10-12 10 11 12 10:00 10:01 10:02 11:00 11:01
, 间隔(不连续) 10,12
测验06:每月5号 周三 晚上12点整 和女朋友睡觉
PS: 日期和星期不能同时出现 -
编写定时任务实践:
1)每隔3分钟,进行时间同步
第一步:利用命令实现时间同步
ntpdate ntp1.aliyun.com
第二步:编辑定时任务时间信息
*/3 * * * * /usr/bin/ntpdate ntp1.aliyun.com
第三步:编写定时任务注释说明完成时间同步
*/3 * * * * ntpdate ntp1.aliyun.com
2)每隔1小时的整点,执行数据备份任务 (cp /etc/hosts /tmp/hosts.bak)
00 */1 * * * cp /etc/hosts /tmp/hosts.bak ---需要注意时间- */1 * * * cp /etc/hosts /tmp/hosts.
date +%T
3)每隔1分钟,将/etc/hosts /etc/rc.local /server/scripts 进行压缩,生成压缩有时间信息
压缩包保存在/tmp目录/oldboy_10:00:00.tar.gz
第一个历程:执行命令测试
cd /
tar zchf /tmp/oldboy_$(date +%H-%M).tar.gz ./etc/hosts ./etc/rc.local ./server/scripts/ ---- 链接文件要加参数h , . 防止出现错误
第二个历程:编写脚本信息 就是多干几件事用脚本!/bin/bash
cd /
tar zchf /tmp/oldboy_$(date +%H-%M).tar.gz ./etc/hosts ./etc/rc.local ./server/scripts/
第三个历程:测试执行脚本
/bin/sh /server/scripts/compress.sh
第四个历程:编写定时任务
crontab -e- /bin/sh /server/scripts/compress.sh &>/dev/null
第五个历程:验证定时任务
01.调整时间
02.缩短时间
- /bin/sh /server/scripts/compress.sh &>/dev/null
- */1 * * * cp /etc/hosts /tmp/hosts.
-
定时任务日志信息:/var/log/cron
Jun 24 17:44:57 oldboyedu62 crontab[13105]: (root) BEGIN EDIT (root)
Jun 24 17:45:34 oldboyedu62 crontab[13105]: (root) REPLACE (root)
Jun 24 17:45:34 oldboyedu62 crontab[13105]: (root) END EDIT (root)
Jun 24 17:45:40 oldboyedu62 crontab[13107]: (root) LIST (root)
Jul 7 00:03:01 oldboyedu62 CROND[13127]: (root) CMD (ntpdate ntp1.aliyun.com)
01 02 03- 定时任务进行处理操作的时间
- 主机名称信息
- 什么用户执行了定时任务
-
定时任务编写注意事项:
1)定时任务中命令信息最好使用绝对路径
定时任务执行时识别PATH环境变量信息:/usr/bin:/bin
2)定时任务中命令信息中特殊符号无法直接识别
方法一:特殊符号加
方法二:将命令信息写成脚本
3)定时任务编写不正确,会产生错误信息
postfix 邮件服务开启 解决关闭:systemctl stop postfix.service
错误信息存放位置:/var/spool/mail/root block占用过多 造成磁盘存储资源减少
postfix 邮件服务关闭
错误信息存放位置:/var/spool/postfix/maildrop/ inode占用过多 造成磁盘存储资源减少
解决方式:将邮件服务开启,将产生错误信息追加到黑洞中- */1 * * * /bin/sh /server/scripts/backup_file.sh &>/dev/null ---解决磁盘空间
4)执行一些命令时,尽量较少命令信息输出(错误输出/正确输出)
5)完成任务大于两个命令,就需要编写脚本
6)脚本编写是需要有注释信息
7)定时任务执行java程序操作时,需要编写环境变量 !!!
需要在脚本里定时java程序环境变量
JAVAHOME="XXXX"
CLASSPATH="XXXX"
PATH="$PATH:JAVAXXX"
./catlina.sh restart
- */1 * * * /bin/sh /server/scripts/backup_file.sh &>/dev/null ---解决磁盘空间
-
课程知识总结
1)定时任务实现方式
系统默认定时任务: 4个目录
系统自定义定时任务:一个命令 两个文件
2)定时任务编写方式:
编写格式- xxx &>/dev/null
时间格式定义:
- xxx &>/dev/null
- */n - ,
PS:编写定时任务,日期和星期不能同时使用
3)定时任务注意事项 7项注意