大家好,又见面了,我是你们的朋友全栈君。
学软件开发,各种台的软件熟练安装是必须要熟练掌握。大家都知道,Windows下安装软件时,只需用鼠标双击软件的安装程序,或者用Zip等解压缩软件解压缩即可安装;在android或者apple中安装软件时,只需要在手机应用商店点击安装即可。而在Linux下安装软件难度高于Windows、Android、ios和windows phone下软件安装。下面我就详细讲解Linux下如何安装软件。
Linux下软件的安装大概可以分为如下几种:
1. 二进制程序的安装(最简单安装)
2. rpm程序安装(后缀名为*.rpm)
3. yum源安装(本质也是rpm安装,它只是rpm的一种安装方式而已)
4. 源码安装
Linux下二进制格式的软件是指事先已经在各种平台编译安装好相关软件,然后压缩打包,在安装时只需解压或者执行安装可执行文件即可。这种软件发行格式类似与windows系统,这样做的原因是保护源代码程序不对外泄露,保护知识产权。
二进制软件包的优点是安装简单、容易,缺点是缺乏灵活性,相应的软件包执行在对应平台下安装,离开这个环境软件就无法运行。
二进制软件包提供了很多类型的打包方式,最常见的就是我们RPM格式的包,还有以“.tar.gz、.tgz、 .bz2”等形式的二进制软件包,最后还有一个就是提供安装程序进行安装的二进制软件包。下面分别介绍:
准备工作:
1.上传JDK安装包到centOS系统里(root用户的家里)
2.统一安装到/user/local/目录下
2. 安装步骤
step1. 解压jdk到/usr/local目录下
[root@hostname01 ~]# tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/local
step2. 将解压后的目录进行更名操作
[root@hostname01 ~]# cd /usr/local
[root@hostname01 local]# mv jdk1.8.0_221/ jdk
step3. 配置环境变量
[root@hostname01 local]# vi /etc/profile
.........省略........
# java environment
JAVA_HOME=/usr/local/jdk
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
# 导出环境变量
export JAVA_HOME PATH
step4. 重新引导配置文件
[root@hostname01 local]# source /etc/profile
step5. 验证版本号
[root@hostname01 local]# java -version
[root@hostname01 local]# javac
配置环境变量的三个文件
/etc/profile :系统级别的一个配置文件
~/.bash_profile :用户级别的一个配置文件
~/.bashrc :用户级别的一个配置文件
2. 提供安装程序的软件包 这种软件包都提供了安装脚本或者安装向导程序,只需在下载此类软件包后解压,然后进入安装目录,找到类似的setup、install、install.sh之类的可执行文件运行即可,然后根据提示(比如安装路径,参数设置等等)进行相应的设置,接着安装就自动完成。 这类软件的卸载也提供了相应的卸载脚本或者卸载向导,根据提示即可完成软件卸载。 例如:经常使用的sun jdk就是这种安装方式,从网络下载下来的jdk是个二进制可执行文件,首先设置文件的可执行权限(例如chmod 755 jdk1.6.0_07.bin,权限操作本书后面会有详细讲述) ,然后运行软件(也即是./ jdk1.6.0_07.bin)即可完成安装。安装完成会在当前目录产生一个对应的jdk程序目录。
RPM软件包管理
RPM软件包也称为二进制软件包
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的发行版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便
RPM命令使用
rpm的常用参数
i:安装应用程序(install)
vh:显示安装进度(verbose hash)
U:升级软件包(update)
qa: 显示所有已安装软件包(query all)
qi: 列出安装包的详细信息
qc: 配置文件
qd: 文档说明
qR: 显示依赖关系
安装参数
-i:安装的含义
-v:安装过程中的显示详情
-h:以进度条的形式显示安装进度
e:卸载应用程序(erase)
注意:如果其它软件包有依赖关系,卸载时会产生提示信息,可使用--nodeps强行卸载。
查询所有安装的rpm包: rpm –qa
查询mysql相关的包: rpm –qa | grep mysql
安装:rpm -ivh jdk.rpm
卸载: rpm –e mysql*
强行卸载:rpm –e mysql* --nodeps
准备工作
1. 上传安装包:mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
说明:tar包里存储了多个rpm包。需要释放
2. 拆包,找到相关的rpm包
[root@hostname01 ~]# tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C ./
mysql-community-embedded-5.7.28-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
mysql-community-devel-5.7.28-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.28-1.el7.x86_64.rpm
mysql-community-libs-5.7.28-1.el7.x86_64.rpm
mysql-community-test-5.7.28-1.el7.x86_64.rpm
mysql-community-common-5.7.28-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.28-1.el7.x86_64.rpm
mysql-community-client-5.7.28-1.el7.x86_64.rpm
mysql-community-server-5.7.28-1.el7.x86_64.rpm
3. 安装的rpm包:
mysql-community-server-5.7.28-1.el7.x86_64.rpm
安装步骤
1. 查询CentOS7.7中是否已经安装了mariadb。如果安装了,请卸载(因为与mysql不兼容)
[root@hostname01 ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.64-1.el7.x86_64 <==强制卸载
[root@hostname01 ~]# rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps
2. 安装mysql-common 因为被mysql-libs依赖
[root@hostname01 ~]# rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
3. 安装mysql-libs 因为被mysql-client依赖
[root@hostname01 ~]# rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
4. 安装mysql-client 因为被mysql-server依赖
[root@hostname01 ~]# rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
5. 安装依赖插件:perl 和net-tools
[root@hostname01 ~]# yum -y install perl net-tools
6. 安装mysql-server
[root@hostname01 ~]# rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
mysql服务端是安装好了,但是服务项没有启动,所以下一步要进行的就是启动服务项
7. 启动mysql的服务项,并检查
[root@hostname01 ~]# systemctl start mysqld
[root@hostname01 ~]# systemctl status mysqld
8. 查找初始密码(启动服务时,会生成/var/log/mysqld.log文件)
[root@hostname01 ~]# cat /var/log/mysqld.log | grep password
2020-04-08T08:15:04.180438Z 1 [Note] A temporary password is generated for root@localhost: dwtqdjaHn0;p
2020-04-08T08:16:02.523447Z 2 [Note] Access denied for user 'root'@'localhost' (using password: NO)
9. 登陆mysql(mysql命令在rpm安装自动安装到相应path对应的目录下了),复制临时密码
[root@hostname01 ~]# mysql -uroot -p
10. 修改密码策略级别为low(mysql5.7.28的密码策略比较高,因此要先设置为low)
mysql> set global validate_password_policy=low;
11. 修改密码(此时的密码长度要求时8位以上的字符)
mysql> alter user root@localhost identified by 'mmforu123'
------------------到此彻底结束了----------------
扩展:策略内容
mysql> show variables like "%validate_password%";
+--------------------------------------+-------+
| Variable_name | Value |
+--------------------------------------+-------+
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | LOW |
| validate_password_special_char_count | 1 |
+--------------------------------------+-------+
7 rows in set (0.01 sec)
图形化界面,手动挂载
yum(yellowdog updater modifified):软件包管理工具
第一步:确保虚拟机引用了DVD.iso文件,并确保启动时链接 已经勾选。
注意,开机后,iso文件已经挂载到/dev/cdrom上
验证: more /dev/cdrom
第二步:创建一个新的挂在目录
]# mkdir /mnt/dvd
第三步:将/dev/cdrom 挂载到/mnt/dvd上
]# mount -t iso9660 -o loop /dev/cdrom /mnt/dvd
可以查看一下dvd里的内容,有内容,说明成功挂载
Packages目录下全都是rpm包
第四步:将原有的yum源配置文件设置为失效状态
]# cd /etc/yum.repos.d/
]# rename .repo .repo.bak ./*.repo 重命名扩展名
第五步:创建一个新的repo配置文件(可以拷贝)
]# cp CentOS-Base.repo.bak local.repo
第六步:配置yum源信息
]# vi local.repo
删除多余的东西
[wangcongming] <==仓库名称
name=local <==昵称
baseurl=file:///mnt/dvd <==本地挂载目录
enabled=1 <==启用或者禁用仓库。 1表示启用,0表示禁用
gpgcheck=1 <==是否校验。 1表示校验,0表示不校验
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 <==校验钥匙
第七步:清空原有的缓存
]# yum clean all
第八步: 重新列出本地yum源的信息
]# yum list all
cd /etc/yum.repos.d/
rename .repo .repo.bak * #重命名所有的.repo文件
cp CentOS-Media.repo.bak CentOS-Media.repo #配置一个.repo文件
cat /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever -Base
mirrorlist=http://mirrorlist.centos.org/?release=releasever&arch=basearch&repo=os
baseurl=http://mirror.centos.org/centos/releasever/os/basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
解释:
[base] 容器名称,一定要放在[]中
name 容器说明,这个可以自己随便写
mirrorlist 镜像站点,这个可以注释掉
baseurl yum源服务器的地址。默认是CentOS官方的yum源服务器
enabled 此容器是否生效,如果不写或写enable=1都是生效,写成enable=0就是不生效
gpgcheck 如果是1是指RPM的数字证书生效,如果是0则不生效
pggkey 数字证书的公匙文件保存位置,不用修改
vi CentOS-Media.repo
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom
\#这里的地址为自己光盘挂载地址,并把不存在的地址注释掉,在行首注释
\# file:///media/cdrom/
\# file:///media/cdrecorder/
gpgcheck=1
enabled=1 #把原来的0改为1,让这个yum源配资文件生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
可使用 yum repolist 查看 当前可用yum源
yum clean all
yum repolist
注意点:
1.如果一旦重启服务器,需要重新挂载
解决方法:
vi /etc/fstab
在文件里面添加DVD所在目录到需要挂载的目录:
/dev/cdrom /mnt/dvd iso9660 defaults 0 0
保存退出重启即可
2.需要检查当前的虚拟机的镜像文件挂载处,将已经连接前面打勾
3.如果镜像文件有两个DVD,我们可以这样做
]# yum list | grep http
]# yum -y install httpd.x86_64
]# systemctl status httpd
]# systemctl start httpd
]# systemctl enable httpd
# HTTP服务进程管理的目录是/var/www/html
\#在管理目录下,创建软连接,指向YUM源目录
]# ln -s /mnt/dvd /var/www/html/repo <===都是用绝对路径,保没错
]# cd /etc/yum.repos.d/
]# rename .repo .repo.bak ./*.repo
]# cp CentOS-Base.repo.bak local.repo
]# vi local.repo
[local] <==仓库名称
name=local <==昵称
baseurl=http://hostname01/repo <==将baseurl指向局域网服务器(自行更改服务器名)
enabled=1 <==启用或者禁用仓库。 1表示启用,0表示禁用
gpgcheck=1 <==是否校验。 1表示校验,0表示不校验
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 <==校验钥匙
由于linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如apache、tomcat、php等软件。开源软件基本都提供源码下载,源码安装的方式;
源码安装软件一般有以下几个步骤组成:下载解压源码、分析安装平台环境(ifconfifigure)、编译安装软件(make,make install)。下面我们分别介绍。
linux下软件的源码一般都是C或者C++语言编写的,并且都会在软件的官方网站上提供源码包下载,例如apache开源项目的官方网站为http://www.apache.org,此外在网上的很多开源社区一般也提供一些常用软件的源码下载,源码都打包成压缩文件,常见的源码打包压缩格式有“.tar.gz”、“.tar.baz2”等。
我们可以从网站上首先下载源码文件,然后在传到所在的linux系统下,如果你的linux系统处于联网状态下,也可以直接在系统内通过wget之类的下载命令将源码包直接下载到linux系统下。下载完成,把相应的软件解包即可,针对下载软件包的不同,使用不同的方法进行解压,解压完毕后进入解压生成的目录中,在这个目录下,一般都存在一个REDAME文件,这个文本文件非常重要,它详细的介绍了这个软件所能完成的功能、授权许可、安装需求、安装注意事项、安装方式等等,由于linux各个版本的差异,以及安装环境的不同,软件的安装方式也不尽相同,所以在安装软件前,一定要事先阅读这个README文件,确保安装的正确性。
在软件包解压完毕之后,我们进入源码目录,一般都会存在confifigure和README这么两个文件,README就是上面我们讲到的,是对软件的介绍和安装说明;linux下软件的安装受到操作系统安装环境的影响,比如某些软件在安装或者运行过程中需要调用操作系统本身的库文件,或者需要运行系统的某个工具等等,但是系统中不存在这个库文件或者这个工具没有安装,那么安装或者运行软件就会失败。
为了避免这个问题的出现,在安装软件的时候就需要分析操作系统环境,检测当前系统是否拥有安装软件所需的所有文件和工具,如果系统缺少某个文件,就给出提示,直到满足软件的所有需求为止。这个就是confifigure文件的功能,confifigure文件一般是个可执行文件,可以在当前目录下直接输入“./confifigure”进行软件安装的环境测试,如果提示缺少某些安装包,就需要进行安装,直到测试通过。通常的,源码安装都需要GCC或者CC编译器,这些编译器一般在安装系统时定制安装包中的开发工具选项下,其实这也是我们在第二章安装linux系统中要求选择开发工具包的原因所在。
此外,在执行confifigure分析软件需求时,还可以在“./confifigure”后面加上软件的安装路径以及安装所需的模块等等一些选项,来定制用户需要的软件功能。
在验证软件安装环境后,正式进入软件的编译步骤,在进行编译前,首先了解下关于编译的一些基础知识。
在linux系统下,make是我们经常用到的编译命令,无论是安装软件还是项目开发,都会经常用到编译安装命令,也就是make和make install,对于一个包含很多源文件的应用程序,使用make和makefile工具可以简单快速的解决各个源文件之间复杂的依赖关系,同时,make工具还可以自动完成所有源码文件的编译工作,并且可以只对上次编译后修改过的文件进行增量编译,因此,熟练掌握了make和makefile工具之后,源码安装软件就变的像windows下安装软件一样简单。
make工具最主要的功能就是通过makefile文件来实现的,makefile文件是按照某种语法来进行编写的,文件中定义了各个源文件之间的依赖关系,并说明了如何编译源文件并生成可执行文件,它通过描述各个源程序之间的关系让make工具自动完成编译工作。
在linux系统下,习惯用Makefile替代makefile文件,我们在执行confifigure通过后,就会在当前目录下生成这个文件,一般情况下在命令行输入make时,make命令会默认去寻找当前目录下的Makefile文件,如果我们用其它文件作为makefile,就要在make命令选项后指定makefile文件,例如我们设定编译规则文件为make_file,就需要使用以下命令指定:[root@WEBServer ~]#make -f make_file
下面我们通过举例了解下Makefile的编写原则和内容。
例如有一个test程序,有三个源文件file1.c、file2.c、file3.c以及库文件LS编译生成,这三个源文件 还分别包含了自己的头文件1.h、2.h、3.h。通常,C编译器将会输出三个目标文件file1.o、file2.o、 file3.o。假定file1.c和file3.c都要声明用到一个apcs的文件,但是file2.c不用,也就是在 file1.c和file3.c文件中都有类似“#include “apcs””的声明。
下面这段代码就是对test程序的描述:
1:#It is a example for describing makefile
2:test: file1.o file2.o file3.o
3:cc file1.o file2.o file3.o -LS -o test
4:file1.o: file1.c 1.h apcs
5:gcc -c file1.c
6:file3.o: file3.c 3.h apcs
7:gcc -c file3.c
8:file2.o: file2.c c.h
9:gcc -c file2.c
这个描述文档其实就是一个makefile文件,第一行为注释行,第二行指定test程序有file1.o、 file2.o、file3.o链接生成,第三行描述了如何从test所依赖的文件建立可执行文件,接下来的第四、 六、八行定义了三个目标文件和它们依赖的“.c”、“.h”和“apcs”文件。剩下的第五、七、九行定义了如何从 目标依赖的文件生成可执行文件。
在了解Makefile文件结构后,我们就可以控制编译的选项,定制自己所需的软件功能。
接下来,我们只需在命令行输入make命令,即可进入编译阶段,根据软件源程序的大小和系统的硬件配置,编 译时间不定,编译完毕,会在当前目录以及子目录下生成相应的可执行文件,接下来就进入最后的安装软件阶 段,在命令行输入make install命令,开始安装软件,安装进程会首先创建安装目录,如果我们没有指定安 装的目录,安装程序默认会安装在系统的/usr/local目录下创建安装目录,然后将相应的文件和可执行程序 从源码目录拷贝到安装目录下,这样安装就完毕了。
安装minimal版本虚拟机(自行安装 )
1. 关机要克隆的虚拟机
2. 选中要克隆的虚拟机
3. 右键点击-->管理-->克隆-->下一步-->虚拟机的当前状态-->创建完整克隆
4. 命名操作-点击完成
##改主机名
hostnamectl set-hostname xxx
]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
......
IPADDR=192.168.10.112
...............
保存退出
重启服务:systemctl restart network.
查看ip: ip addr
建议:reboot
1.更改主机名临时+永久 2.检查网卡是否启动 3.关闭NetworkManager网络管理服务 4.关闭防火墙 5.更改ip地址 6.更改主机名称和主机映射 7.使用连接工具(fifinalshell)进行连接 8.如果出现问题按照以上流程检查
集群模式下,各节点之间如何方便的拷贝文件?
命令格式:
scp file 远程用户名@远程服务器IP:~/ (注意:冒号和目录之间不能有空格)
如果拷贝目录,需要加-r 选项。
使用root用户
eg: [root@hd01 etc]#scp /etc/profile root@node2:/etc
eg: [root@hd01 etc]# scp -r /usr/jdk1.8 node2:/usr/java 使用root用户可以将远程用户名省略
eg: [root@hd01 etc]#scp /root/a/ node2:$PWD
注:使用$PWD 默认到当前正在操作的目录(node2的etc下)。 注意:目标主机要有与当前正在操作的目录 相同的目录,前面的文件或文件夹会直接拷贝到后面的目录中
~:到当前用户的宿主目录
eg: scp /etc/services node2:/root/service.hard
可以通过这种方式修改拷贝的文件名。
补充:
# 拷贝文件
scp /home/test/test.txt root@192.168.0.2:/home/test/
# 拷贝目录
scp -r /home/test/ root@192.168.0.2:/home/test/
# 拷贝文件
scp root@192.168.0.2:/home/test/ /home/test/test.txt
# 拷贝目录
scp -r root@192.168.0.2:/home/test/ v/home/test/
方便的进行节点之间的切换 ssh node2
还需要输入密码
1.node1 使用 ssh-keygen –t rsa 生成公钥和私钥 2.ssh-copy-id root@node2 将公钥拷贝到node2上,实际上是把公钥内容追加到 authorized_keys文件中。 3.请求时:node1向node2发送连接请求时,附带主机,ip地址等信息 4.node2收到请求后,去授权文件里查找node1的公钥,找到之后,随机生成一个字符串,并用公钥加密,并发送给node1 5.node1接收到密文之后,用私钥解密,并把解密结果返回给node2 6.node2拿到解密结果之后,与之前的字符串进行比较,如果相同,则可以登录成功。
在每一台机器上,都可以使用定时任务crontab同步网络上的时间服务器 ,如time.windows.com
前提:安装ntpdate.x86_64
然后: 使用root用户,进行定时
0 * * * * /usr/sbin/ntpdate -u time.windows.com
第一步:选择一台机器作为时间服务
选择hostname01
第二步:安装ntp.x86_64软件
]# yum -y install ntp.x86_64
第三步:确保ntpd服务是启动的,并且开机自启动
]# systemctl status ntpd
]# systemctl start ntpd
]# systemctl enable ntpd
第四步:配置/etc/ntp.conf
]# vi /etc/ntp.conf
...................
# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap
# 上一行就是添加局域网的段位
..............
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 127.127.1.0
# 上一行就是添加本机作为服务器,共有的服务注释掉
第五步:最好将时间服务器的防火墙关闭,
]# systemctl stop firewalld
]# systemctl disable firewalld
第六步:建议重启
]# reboot
第七步:其他机器保证安装了ntpdate.x86_64
第八步:其他机器可以使用root写定时任务进行同步(运行crontab -e,每个用户都有唯一一个同名文件,在里面写)
0 7,17 * * 1-5 /usr/sbin/ntpdate -u 服务器ip或者主机名
注意:局域网上的时间差如果太大,同步可能失效。
在Linux中,周期性的执行任务一般由cron这个守护进程来处理,它是一个linux下 的定时任务执行工 具,可以在无需人工干预的情况下运行作业。 [ps -ef|grep cron] – cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。 – cron的配置文件称为“crontab”,是“cron table”的简写。
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
1.var/spool/cron/ 2.说明这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建 的crontab任务对应的文件就是/var/spool/cron/tom。一般一个用户最多只有一个crontab文件。
作用:用于生成cron进程所需要的crontab文件
格式:crontab [-u username] -e
格式如下:
* * * * * user-name command to be executed
共有六部分组成,分别表示:
分 时 日 月 星期 要运行的命令
解析:
minute: 一小时中的哪一分钟 [0~59]
hour: 一天中的哪个小时 [0~23]
day: 一月中的哪一天 [1~31]
month: 一年中的哪一月 [1~12]
week: 一周中的哪一天 [0~6] 0表示星期天
commands: 执行的命令
书写注意事项
1. 每天早上6点
0 6 * * * echo "Good morning." >> /tmp/test.txt
//注意 如果不进行追加 ,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。
2. 每两个小时
0 */2 * * * echo "Have a break now." >> /tmp/test.txt
3. 晚上11点到早上8点之间每两个小时和早上八点
0 23-7/2,8 * * * echo "Have a good dream" >> /tmp/test.txt
4. 周一到周五下午,5点半提醒学生15分钟后关机
30 17 * * 1-5 /usr/bin/wall < /etc/issue
45 17 * * 1-5 /sbin/shutdown -h now
5. 学校的计划任务, 12点14点,检查apache服务是否启动
*/2 12-14 * 3-6,9-12 1-5
6. 每月 1、1 0、2 2日的4:45运行/apps/bin目录下的backup.sh
45 4 1,10,22 * * /apps/bin/backup.sh
7. 每周六、周日的 1 : 10运行一个find命令
10 1 * * 6,0 /bin/find -name "core" -exec rm {
} \;
8. 在每天 18:00至23 :00之间每隔30分钟运行/apps/bin目录下的dbcheck.sh
0,30 18-23 * * * /apps/bin/dbcheck.sh
9.每星期六的 11:00 pm运行/apps/bin目录下的qtrend.sh
0 23 * * 6 /apps/bin/qtrend.sh
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140117.html原文链接:https://javaforall.cn