Linux学习笔记~002

第 11 章 Linux 实操篇-定时任务调度

1.crontab 连续执行多次的定时任务

基本语法:

        crontab -e 编辑定时任务

        crontab -l  查询

        crontab -r 删除

        service crond restart [重启任务调度]

案例:

设置任务调度文件:/etc/crontab
设置个人任务调度。执行 crontab –e 命令。
接着输入任务到调度文件
如:*/1 * * * * ls –l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行 ls –l /etc/ > /tmp/to.txt 命令

解释说明:、

        5 个占位符的说明:

         特殊符号的说明:

        特殊时间执行案例:

应用实例
案例 1:每隔 1 分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
*/1 * * * * date >> /tmp/mydate
案例 2:每隔 1 分钟, 将当前日期和日历都追加到 /home/mycal 文件中
步骤:
(1) vim /home/my.sh 写入内容 date >> /home/mycal 和 cal >> /home/mycal
(2) 给 my.sh 增加执行权限,chmod u+x /home/my.sh
(3) crontab -e 增加 */1 * * * * /home/my.sh
 案例 3: 每天凌晨 2:00 将 mysql 数据库 testdb ,备份到文件中。提示: 指令为
mysqldump -u root -p 密码 数据库 > /home/db.bak
步骤(1) crontab -e
步骤(2) 0 2 * * * mysqldump -u root -proot testdb > /home/db.bak

2.at定时任务,只执行一次

基本介绍


1) at 命令是一次性定时计划任务,at 的守护进程 atd 会以后台模式运行,检查作业队列来运行。
2) 默认情况下,atd 守护进程每 60 秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业。
3) at 命令是一次性定时计划任务,执行完一个任务后不再执行此任务了
4) 在使用 at 命令的时候,一定要保证 atd 进程的启动 , 可以使用相关指令来查看
ps -ef | grep atd //可以检测 atd 是否在运行;ps -ef   检测正在执行的进程

格式

at [选项] [时间]
Ctrl + D 结束 at 命令的输入, 输出两次

at 命令选项

 at 时间定义

at 指定时间的方法:
1) 接受在当天的 hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。 例如:04:00
2) 使用 midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午 4 点)等比较模糊的词语来指定时间。
3) 采用 12 小时计时制,即在时间后面加上 AM(上午)或 PM(下午)来说明是上午还是下午。 例如:12pm
4) 指定命令执行的具体日期,指定格式为 month day(月 日)或 mm/dd/yy(月/日/年)或 dd.mm.yy(日.月.年),指定的日期必须跟在指定时间的后面。 例如:04:00 2021-03-1
5) 使用相对计时法。指定格式为:now + count time-units ,now 就是当前时间,time-units 是时间单位,这里能够是 minutes(分钟)、hours(小时)、days(天)、weeks(星期)。count 是时间的数量,几天,几小时。 例如:now + 5 minutes
6) 直接使用 today(今天)、tomorrow(明天)来指定完成命令的时间。

第 12 章Linux 实操篇-Linux 磁盘分区、挂载


1.Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux中每个分区都是用来组成整个文件系统的一部分。
2.Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
3.Linux 硬盘分 IDE 硬盘和 SCSI 硬盘,目前基本上是 SCSI 硬盘
对于 IDE 硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指 IDE 硬盘了。“x”为盘号(a 为基本盘,b 为基本从属盘,c 为辅助主盘,d 为辅助从属盘),“~”代表分区,前四个分区用数字 1 到 4 表示,它们是主分区或扩展分区,从 5 开始就是逻辑分区。例,hda3 表示为第一个 IDE 硬盘上的第三个主分区或扩展分区,hdb2表示为第二个 IDE 硬盘上的第二个主分区或扩展分区。
对于 SCSI 硬盘则标识为“sdx~”,SCSI 硬盘是用“sd”来表示分区所在设备的类型的,其余则和 IDE 硬盘的表示方法一样


查看所有设备挂载情况:lsblk 或者 lsblk -f
查询系统整体磁盘使用情况:df -h
查询指定目录的磁盘占用情况:du -h
查询指定目录的磁盘占用情况,默认为当前目录
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
--max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值


第 13 章Linux 实操篇-网络配置


1.进入文件夹cd /etc/sysconfig/network-scripts
2.编辑文件vi ifcfg-ens33
3.重启网卡让配置生效systemctl restart network


4.关闭防火墙开机自启动: systemctl disable firewalld
5.关闭防火墙:systemctl stop firewalld
6.查看防火墙状态:systemctl status firewalld
7.查看 linux 的网络配置 ifconfig
8.查看windows的ip  ipconfig
主机名解析过程分析(Hosts、DNS)
Hosts 是什么:一个文本文件,用来记录 IP 和 Hostname(主机名)的映射关系
DNS,就是 Domain Name System 的缩写,翻译过来就是域名系统,是互联网上作为域名和 IP 地址相互映射的一个分布式数据库


应用实例: 用户在浏览器输入了 www.baidu.com
1) 浏览器先检查浏览器缓存中有没有该域名解析 IP 地址,有就先调用这个 IP 完成解析;如果没有,就检查 DNS 解析器缓存,如果有直接返回 IP 完成解析。这两个缓存,可以理解为 本地解析器缓存
2) 一般来说,当电脑第一次成功访问某一网站后,在一定时间内,浏览器或操作系统会缓存他的 IP 地址(DNS 解析记录).如 在 cmd 窗口中输入ipconfig /displaydns //DNS 域名解析缓存ipconfig /flushdns //手动清理 dns 缓存
3) 如果本地解析器缓存没有找到对应映射,检查系统中 hosts 文件中有没有配置对应的域名 IP 映射,如果有,则完成解析并返回。
4) 如果 本地 DNS 解析器缓存 和 hosts 文件 中均没有找到对应的 IP,则到域名服务 DNS 进行解析域


第 14 章Linux 实操篇-进程管理(重点)


1)在 LINUX 中,每个执行的程序都称为一个进程。每一个进程都分配一个 ID 号(pid,进程号)。=>windows => linux
2) 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
3) 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。
ps 命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数.
ps 详解

1) 指令:ps –aux|grep xxx ,比如我看看有没有 sshd 服务
2) 指令说明
System V 展示风格
USER:用户名称
PID:进程号
%CPU:进程占用 CPU 的百分比
%MEM:进程占用物理内存的百分比
VSZ:进程占用的虚拟内存大小(单位:KB)
RSS:进程占用的物理内存大小(单位:KB)
TT:终端名称,缩写 .
STAT:进程状态,其中 S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
STARTED:进程的启动时间
TIME:CPU 时间,即进程使用 CPU 的总时间
COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
kill [选项] 进程号(功能描述:通过进程号杀死/终止进程)
killall 进程名称 (功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
-9 :表示强迫进程立即停止

查看进程树 pstree
pstree [选项] ,可以更加直观的来看进程信息

-p :显示进程的 PID
-u :显示进程的所属用户
服务(service)管理
服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysqld , sshd防火墙等),因此我们又称为守护进程。
service 管理指令
1) service 服务名 [start | stop | restart | reload | status]
2) 在 CentOS7.0 后 很多服务不再使用 service ,而是 systemctl
查看服务名:setup
chkconfig 指令,通过 chkconfig 命令可以给服务的各个运行级别设置自 启动/关闭
chkconfig 基本语法
1) 查看服务 chkconfig --list [| grep xxx]
2) chkconfig 服务名 --list
3) chkconfig --level 5 服务名 on/off
firewall 指令
1) 打开端口: firewall-cmd --permanent --add-port=端口号/协议
2) 关闭端口: firewall-cmd --permanent --remove-port=端口号/协议
3) 重新载入,才能生效 : firewall-cmd --reload
4) 查询端口是否开放: firewall-cmd --query-port=端口/协议


动态监控进程


top 与 ps 命令很相似。它们都用来显示正在执行的进程。Top 与 ps 最大的不同之处,在于 top 在执行一段时间可以更新正在运行的的进程。
案例 1.监视特定用户, 比如我们监控 tom 用户
top:输入此命令,按回车键,查看执行的进程。
u:然后输入“u”回车,再输入用户名,即可,

 案例 2:终止指定的进程, 比如我们要结束 tom 登录
top:输入此命令,按回车键,查看执行的进程。
k:然后输入“k”回车,再输入要结束的进程 ID 号

案例 3:指定系统状态更新的时间(每隔 10 秒自动更新), 默认是 3 秒;top -d 10


监控网络状态


基本语法
netstat [选项]
-an 按一定顺序排列输出
-p 显示哪个进程在调用

第 15 章Linux 实操篇-RPM 与 YUM

rpm 用于互联网下载包的打包及安装工具,它包含在某些 Linux 分发版中。它生成具有.RPM 扩展名的文件。RPM
是 RedHat Package Manager(RedHat 软件包管理工具)的缩写,类似 windows 的 setup.exe,这一文件格式名称虽然打上
了 RedHat 的标志,但理念是通用的

rpm 包的简单查询指令
查询已安装的 rpm 列表 rpm –qa|grep xx
举例: 看看当前系统,是否安装了 firefox
指令: rpm -qa | grep firefo

rpm 包的其它查询指令

rpm -qa :查询所安装的所有 rpm 软件包
rpm -qa | more
rpm -qa | grep X [rpm -qa | grep firefox ]

rpm -q 软件包名 :查询软件包是否安装
案例:rpm -q firefox
rpm -qi 软件包名 :查询软件包信息
案例: rpm -qi firefox
rpm -ql 软件包名 :查询软件包中的文件
比如: rpm -ql firefox
rpm -qf 文件全路径名 查询文件所属的软件包
rpm -qf /etc/passwd
rpm -qf /root/install.log

卸载 rpm 包
rpm -e RPM 包的名称

安装 rpm 包
rpm -ivh RPM 包全路径名称


安装:rpm -ivh 软件名.rpm
查询:rpm -qa | grep 软件名关键字
卸载:rpm -e 软件名

 yum
Yum 是一个 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动
下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件

wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载,有类似于Windows下的迅雷


安装: yum install 软件名
    安装时自动确认:yum install -y 软件名
卸载:yum remove 软件名
更新:yum update
yum install wget

查询 yum 服务器是否有需要安装的软件
yum list|grep xx 软件列表

安装指定的 yum 包
yum install xxx 下载安装

安装 JDK
1) mkdir /opt/jdk
2) 通过 xftp6 上传到 /opt/jdk 下
3) cd /opt/jdk
4) 解压 tar -zxvf jdk-8u261-linux-x64.tar.gz
5) mkdir /usr/local/java
6) mv /opt/jdk/jdk1.8.0_261 /usr/local/java
7) 配置环境变量的配置文件 vim /etc/profile
8) export JAVA_HOME=/usr/local/java/jdk1.8.0_261--放在文件的最后
9) export PATH=$JAVA_HOME/bin:$PATH--放在文件的最后
10) source /etc/profile [让新的环境变量生效]

tomcat 的安装
1) 上传安装文件,并解压缩到/opt/tomcat
2) 进入解压目录/bin , 启动 tomcat ./startup.sh
3) 开放端口 8080 , 回顾 firewall-cmd


关闭防火墙开机自启动: systemctl disable firewalld

关闭selinux(Security-Enhanced Linux)    linux安全子系统
[root@localhost bin]# getenforce
Enforcing
[root@localhost bin]# setenforce 0

永久关闭selinux:
编辑 vi /etc/selinux/config
SELINUX=disabled

jps  jps是jdk提供的一个查看当前java进程的小工具,可以通过jps命令查看tomcat进程是否启动


Nginx (发音:engine x) 是一个高性能的HTTP和反向代理web服务器。它有2个常见的应用场景:

- 反向代理Tomcat集群并实现负载均衡
- 充当静态资源(html、js、css、图片)服务器

Nginx的安装

1.下载并安装nginx的yum源

[root@localhost bin]# wget -P /tmp http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
[root@localhost bin]# cd /tmp
[root@localhost tmp]# rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm

2.使用yum安装nginx

[root@localhost tmp]# yum install -y nginx

3.启动nginx

[root@localhost tmp]# systemctl start nginx
[root@localhost tmp]# systemctl status nginx
● nginx.service - nginx - high performance web server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since 五 2020-05-29 02:23:00 CST; 6s ago
     Docs: http://nginx.org/en/docs/
  Process: 40706 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
 Main PID: 40707 (nginx)
   CGroup: /system.slice/nginx.service
           ├─40707 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
           └─40708 nginx: worker process

4.关闭防火墙和selinux

[root@localhost tmp]# systemctl stop firewalld
关闭防火墙开机自启动 systemctl disable firewalld

[root@localhost tmp]# getenforce
[root@localhost tmp]# setenforce 0

永久关闭selinux:编辑 vi /etc/selinux/config
SELINUX=disabled

5.访问
http://ip:80
   nginx默认占用80端口

注意:如果nginx访问出错,可以查看 /var/log/nginx/error.log 文件获取错误日志

Nginx反向代理Tomcat集群:

1. 克隆3台虚拟机,分别启动tomcat搭建集群
2. 配置 /etc/nginx/conf.d/default.conf
图片
3.启动nginx

通过nginx可以访问到tomcat集群中的服务。

负载均衡

负载均衡(Load balancing),意思是将负载(工作任务,访问请求)进行平衡,用来在多个计算机(计算机集群)中分配负载,以达到集群系统整体的最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。

Nginx的负载均衡策略

1. 轮询(默认)

- 优点:实现简单
- 缺点:不考虑每台服务器的处理能力
- 配置示例如下:
upstream 集群名 {
# 需要负载的server列表
server ip1:port;
server ip2:port;
server ip3:port;
}

2.权重(使用较多)

- 优点:考虑了每台服务器处理能力的不同,哪台机器性能高就给哪台机器的权重高一些
- 配置示例如下:
upstream 集群名 {
# 需要负载的server列表,weight表示权重
server ip1:port weight=1;
server ip2:port weight=2;
server ip3:port weight=4;
}

3.ip hash

- 优点:能实现同一个用户始终访问同一个服务器
- 缺点:根据 ip hash 不一定平均
- 配置示例如下:
upstream 集群名 {
ip_hash;
# 需要负载的server列表
server ip1:port;
server ip2:port;
server ip3:port;
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值