一、定时任务调度
1、简介
crondtab进行定时任务的设置
基本语法:crontab [选项]
常用选项:
-e | 编辑crondtab定时任务 |
-l | 查询crondtab任务 |
-r | 删除当前用户所有的crondtab任务 |
crond相关指令:
- crontab -r :终止任务调度
- crontab -l:列出当前有哪些任务调度
- service crontab restart:重启任务调度
2、举例说明
*/1 * * * * ls -l /etc/ > /tmp/to.txt
定时每分钟执行,将etc的ls内容重定向到tmp下to.txt文件中。
项目 | 含义 |
第一个* | 一小时中的第几分钟 |
第二个* | 一天中的第几小时 |
第三个* | 一个月中的第几天 |
第四个* | 一年中的第几月 |
第五个* | 一周中的星期几 |
特殊符号:
特殊字符 | 含义 |
* | 代表时间,比如第一个*,代表每小时中的每分钟都执行一次 |
, | 代表不连续的时间,比如0 8,12,16 * * * 代表每天的8点0分,12点0分,16点0分都执行一次 |
- | 代表连续的时间范围,比如0 5 * * 1-6 代表在周一到周六的凌晨5点0分执行命令 |
*/n | 代表每隔多久执行一次,比如*/10 * * * * 代表每隔十分钟执行一遍命令 |
3、应用实例
(1)每隔一分钟,就将当前的日期信息追加到/tmp/mydate文件中
*/1 * * * * date >> /tmp/mydate.txt
(2)每隔一分钟,将当前日期和日历都追加到/tmp/mydate文件中
步骤:
- vim /home/my.sh 写入内容 date >> /home/mydate 和 cal >> /home/mydate
- 给my.sh增加执行权限,chmod u+x /home/my.sh
- crontab -e 增加 */1 * * * * /home/my.sh
(3)每天凌晨2:00将mysql数据库testdb,备份到文件中。
指令:mysqldump -u root -p密码 数据库 > /home/db.bak
- crontab -e
- 0 2 * * * mysqldump -u root -proot testdb > /home/db.bak
4、at定时任务
(1)at:一次性定时执行任务
(2)at命令格式
at [选项][时间]
Ctrl + D 结束at命令的输入
二、Linux磁盘分区和挂载
1、分区命令:fdisk /dev/sdb
2、磁盘情况查询
基本语法:df -h
3、磁盘情况实用指令
三、网络配置
1、NAT网络配置
2、配置网关192.168.2
3、设计主机名和hosts映射
修改文件在/etc/hostname指定
四、进程管理
1、进程号
在Linux中,每个执行的程序都称为一个进程,每一个进程都会分配一个ID号(pid,进程号)。
2、ps指令
显示系统执行的进程
属性:
-a:显示当前终端的所有进程信息
-u:以用户的格式显示进程信息
-x:显示后台进程运行的参数
分页显示:ps -aux | more
过滤显示:ps -aux | grep sshd
3、ps显示信息详解
- USER:用户名称
- PID:进程号
- %CPU:进程占用CPU的百分比
- VSZ:进程占用的虚拟内存大小(单位:KB)
- RSS:进程占用的物理内存大小(单位:KB)
- TT:终端名称,缩写
- STAT:进程状态(S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等)
- STARTED:进程的启动时间
- TIME:CPU时间,即进程使用CPU的总时间
- COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
4、终止进程
kill和killall
基本语法:
kill [选项] 进程号(功能描述:通过进程号杀死进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
常用选项:-9 表示强制停止进程。
5、查看进程树
pstree [选项],可以更加直观的查看进程信息
常用选项:
-p:显示进程的pid
-u:显示进程的所属用户
五、服务管理
1、简介
服务本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如mysql、sshd、防火墙等,因此我们又称之为守护进程,是Linux中非常重要的知识点。
2、service管理指令
- service 服务名[start | stop | restart | reload | status]
- 在centos7.0后,很多服务不再使用service,而是使用systemctl
- service指令管理的服务在/etc/init.d查看
3、chkconfig指令
通过chkconfig可以给服务的各个运行级别设置自启动/关闭。
基本语法:
- chkconfig --list [| grep xxx]
- chkconfig 服务名 --list
- chkconfig --level 5 服务名 on/off
4、systemctl指令
基本语法:
systemctl [start | stop | restart | reload | status] 服务名
systemctl指令管理的服务在/us/lib/systemd/system查看
systemctl设置服务的自启动状态
- systemctl list-unit-files [|grep 服务名](查看服务开机启动状态,grep可以进行过滤)
- systemctl enable 服务名(设置服务开机启动)
- systemctl disable 服务名(关闭服务开机启动)
- systemctl is-enabled 服务名(查询某个服务示范是自启动的)
应用案例:
查看当前防火墙的状况,关闭防火墙和重启防火墙。
systemctl status firewalld;
systemctl stop firewalld;
systemctl start firewalld;
5、firewall指令
- 打开端口:firewall-cmd --permanent --add-port=端口号/协议
- 关闭端口:firewall-cmd --permanent --remove-port=端口号/协议
- 重新载入,才能生效:firewall-cmd --reload
- 查询端口是否开放:firewall-cmd --query-port=端口号/协议
往期精彩内容:
【全栈最全Java框架总结】SSH、SSM、Springboot