目录

前言

1.进程管理

1.1 进程查看

1.2查看系统进程命令

1.查看系统中所有进程

2.查看系统的健康状态

3.查看进程数

1.3终止进程

1. kill命令

2. killall命令

3. pkill命令

 2.工作管理

3.系统资源查看

4.系统定时任务


前言

💪每篇一句话

        每天进步一点点,走得慢没关系,只要在前进,一切都会好起来,加油!

 👏博客主页🎉 懿 然

🙏文章中如有内容不规范或讲解又误区的地方还请各位多多指正,谢谢大家!😉

欢迎各位🔎点赞👍评论收藏⭐️

 👋Linux学习之路
        本章主要讲解linux系统管理的基础篇,分为进程管理、工作管理、资源查看、定时任务四个小节,其中会介绍经常用到的一些命令及其使用技巧。通过本章的学习我相信大家对linux会有更深入的理解。
🎄冲冲冲🎄
⭐️上一篇内容:Linux-服务管理


1.进程管理

1.1 进程查看

😀进程说明

        进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。

# 系统正在运行的程序,统称为进程

# linux中命令 ls 它既然可以运行,并且有一定的功能执行,那么它也会产生进程,但它的运行时间间隔短,输入命令执行之后就结束了进程

列如:windows


😀 进程管理的工作

①判断服务器的健康状态,列如:cpu、内存、系统进程等使用率,通过检测系统性能、进程检测判断系统是否安全

# 最重要的就是判断系统的健康状态

# 列如:系统中某个进程占用系统资源占比较高,这时就需要查看此进程是哪个软件启用的,判断自己的主机是否适合运行此软件

②查看系统中的所有进程

③杀死进程

# 在服务器过多的时候就需要用到MRTG类似的监控软件,功能更加强大,但要比在linux中判断服务器命令要复杂,当然那是网络服务内容,本章只涉及到系统管理的内容。在后面篇章为大家细细讲解。

# 注:进程运行过程中避免随意杀进程,需做到正确启停


1.2查看系统进程命令

1.查看系统中所有进程

[root@localhost~]# ps aux

# 查看系统中的所有进程,使用BSD操作系统格式

[root@localhost~]# ps -le

# 查看系统中的所有进程,使用Linux标准命令格式

① 两个命令进程功能相同

ps  aux 使用的是unix 操作格式,ps -le 为linux 操作格式

 ps -aux

# 在linux中执行的时候会出现报错,选项 - 错误,但功能可以正常使用

# 每一行代表一个系统进程

😀 进程每一列代表的含义

参数含义
USER该进程是由哪个用户产生的
PID        进程的ID号
%CPU该进程占用CPU资源的百分比,占用越高,进程越耗费资源
%MEM        该进程占用物理内存的百分比,占用越高,进程越耗费资源
VSZ该进程占用虚拟内存的大小,单位KB
RSS该进程占用实际物理内存的大小,单位KB
TTY该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-256代表虚拟终端
STAT进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台
START该进程的启动时间
TIME该进程占用CPU的运算时间,注意不是系统时间
COMMAND产生此进程的命令名

# PID 的值越高代表系统调用优先级越高

# pts/0-256虚拟终端:代表远程终端连接数


2.查看系统的健康状态

[root@localhost~]# top [选项]
选项:
    -d 秒数:    指定top命令每隔几秒更新。默认3秒

在top命令的交互模式当中可以执行的命令:
    ?或h:     显示交互模式的帮助
    P:         以cpu使用率排序,默认就是此项
    M:         以内存的使用率排序
    N:          以PID排序
    q:         退出top

# 更改排序输出 shift + M\N\P\q,进行切换

# 主要看前五行,它显示了系统的状态

😀显示信息说明

① 第一行信息为任务列队信息

② 第二行为进程信息

 

③ 第三行为cpu信息

④ 第四行为物理内存信息

⑤ 第五行为交换分区swap信息

 

# 其中主要观察

① 系统在前1、5、15分钟的平均负载

② cpu的空闲占比

③ 内存的空闲数量


3.查看进程数

😀 格式

[root@localhost~]# pstree [选项] 

选项:
-p :     显示进程的PID
-u :     显示进程的所属用户
[root@localhost ~]# pstree
systemd─┬─NetworkManager─┬─dhclient
        │                └─2*[{NetworkManager}]
        ├─VGAuthService
        ├─auditd───{auditd}
        ├─chronyd
        ├─crond
        ├─dbus-daemon───{dbus-daemon}
        ├─firewalld───{firewalld}
        ├─httpd───5*[httpd]

# 所有进程都依赖于systemd进程

😀 httpd —— 5*[httpd] 

# 代表httpd服务有一个父进程五个子进程

😀 pstree -p

#显示所有子进程

[root@localhost ~]# pstree -p
systemd(1)─┬─NetworkManager(652)─┬─dhclient(2063)
           │                     ├─{NetworkManager}(660)
           │                     └─{NetworkManager}(664)

1.3终止进程

1. kill命令

😀 简介说明

① windows

# 通过任务管理器 - 结束任务

 ② Linux

[root@localhost~]# kill [-l] [进程ID]
选项    -l
# 查看可用的进程信号
[root@localhost ~]# kill -l
 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
 6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1
11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX

 #通过进程信号决定进程状态(启用、终止)

③ 常用进程信号

 

😀命令格式

[root@localhost~]# kill -1 22354
#重启进程

[root@localhost~]# kill -9 22368
#强制杀死进程

😀举例

[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# pstree -p | grep httpd
           |-httpd(7919)-+-httpd(7920)
           |             |-httpd(7921)
           |             |-httpd(7922)
           |             |-httpd(7923)
           |             `-httpd(7924)
[root@localhost ~]# kill -9 7922
[root@localhost ~]# pstree -p | grep httpd
           |-httpd(7919)-+-httpd(7920)
           |             |-httpd(7921)
           |             |-httpd(7923)
           |             `-httpd(7924)

 注:终止父进程子进程也会终止


2. killall命令

[root@localhost~]# killall [选项] [信号] [进程名]
#按照进程名杀死进程
选项:    -i     交互式,询问是否要杀死某个进程
         -I     忽略进程名的大小写

3. pkill命令

😀 格式

[root@localhost~]# pkill [选项] [信号] [进程名]
#按照进程名终止进程
选项:    -t     终端号:按照终端号提出用户

😀 举例

[root@localhost ~]# pstree -p | grep httpd
           |-httpd(2510)-+-httpd(2511)
           |             |-httpd(2512)
           |             |-httpd(2513)
           |             |-httpd(2514)
           |             `-httpd(2515)
[root@localhost ~]# pkill -9 httpd
[root@localhost ~]# pstree -p | grep httpd

 # 注:进程终止命令虽然可以把进程终止,但不是标准终止手段,建议使用正确停止方式(service httpd stop)

# 当正常无法终止进程时可用到强制查杀进程

😀按照终端号提出用户

[root@localhost~]# w
#使用w命令查询本机已经登录的用户

[root@localhost~]# pkill -t -9 pts/1
#强制杀死从pts/1虚拟终端登录的进程 

 


 2.工作管理

1.在系统当中允许把某个程序放入后台

😀 windows

将某程序关闭放入后台

😀Linux

① 在执行完某个命令后+&符

[root@localhost~]# tar -zcf etc.tar.gz /etc &
[root@localhost~]# 
[1]+ Done                tar -zcf etc.tar.gz /etc
[root@localhost~]# ls
install.log    anaconda    ks.cfg    etc.tar.gz

② 在执行某个命令过程中,按下ctrl + z快捷

[root@localhost~]# top

③ 区别

第一种方法执行完程序正常后台运行

第二种方法执行完程序是处于后台暂停状态


 2.查看后台的工作

😀 格式

[root@localhost~]# jobs [-l]

选项:        -l        #显示工作的PID

😀举例

# 以ctrl+z快捷键为例更直观


[root@localhost ~]# jobs -l
[1]  36608 停止 (信号)         top
[2]- 39250 停止                  tar -zcf etc.tar.gz /etc
[3]+ 39622 停止 (信号)         top
[root@localhost ~]#
[root@localhost ~]# jobs
[1]   已停止               top
[2]-  已停止               tar -zcf etc.tar.gz /etc
[3]+  已停止               top

# “[1]、[2]、[3]”表示第一个放入后台的工作号就是1,第二个就是二,以此类推

# “+”号代表最近一个放入后台的工作,也是工作恢复时,默认恢复的工作。“-”号代表倒数第二个放入后台的工作,在恢复时排第二恢复。空白的工作以此类推恢复。


3.将后台暂停的工作恢复到前台执行

😀 格式

[root@localhost~]# fg %工作号

参数:

        %工作号:        %号可以省略,但注意工作号和PID的区别

😀 举例

[root@localhost ~]# jobs
[1]   已停止               top
[2]   已停止               tar -zcf etc.tar.gz /etc
[3]-  已停止               top
[4]+  已停止               find / -name passwd
[root@localhost ~]# fg 4
find / -name passwd
/etc/pam.d/passwd
/etc/passwd
[root@localhost ~]# jobs
[1]   已停止               top
[2]-  已停止               tar -zcf etc.tar.gz /etc
[3]+  已停止               top
[root@localhost ~]# 

4.把后台暂停的工作恢复到后台执行

😀 格式

[root@localhost~]# bg %工作号

# 注:后台恢复执行的命令,是不能和前台有交互的,否则不能恢复到后台执行

😀 举例

# 类似vi、top与前台存在交互,放后台没有任何意义,“bg”恢复到后台执行无法生效

[root@localhost ~]# jobs
[1]   已停止               top
[2]-  已停止               tar -zcf etc.tar.gz /etc
[3]+  已停止               top
[root@localhost ~]# bg 1
[1] top &
jobst@localhost ~]# 
jobs
[1]+  已停止               top
[2]   已停止               tar -zcf etc.tar.gz /etc
[3]-  已停止               top
[root@localhost ~]# bg 2
[2] tar -zcf etc.tar.gz /etc &
[root@localhost ~]# jobs
[1]+  已停止               top
[2]   完成                  tar -zcf etc.tar.gz /etc
[3]-  已停止               top
[root@localhost ~]# 

3.系统资源查看

         此小节主要讲解如何查看系统的内核版本、操作系统、状态等命令的使用技巧。

1.vmstat命令监控系统资源

😀格式

[root@localhost~]# vmstat [刷新延时] [刷新次数]

😀举例

[root@localhost~]# vmstat 1 3

# 监听3次系统资源,每次间隔1秒

[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0 747624 148968 772476    0    0     4    14   90  149  1  2 98  0  0

重点关注:memory        内存占用率

                  cpu                cpu使用率

# 相对比top输出可自定义刷新延时,内容要简介


2.dmesg开机时内核检测信息

[root@localhost ~]# dmesg 
#内容展示较多,只展示cpu相关信息

[root@localhost ~]# dmesg | grep cpu
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] setup_percpu: NR_CPUS:5120 nr_cpumask_bits:128 nr_cpu_ids:128 nr_node_ids:1
[    0.000000] PERCPU: Embedded 38 pages/cpu @ffff8adb3b600000 s118784 r8192 d28672 u262144
[    0.000000] pcpu-alloc: s118784 r8192 d28672 u262144 alloc=1*2097152
[    0.000000] pcpu-alloc: [0] 000 001 002 003 004 005 006 007 
[    0.000000] pcpu-alloc: [0] 008 009 010 011 012 013 014 015 
[    0.000000] pcpu-alloc: [0] 016 017 018 019 020 021 022 023 
[    0.000000] pcpu-alloc: [0] 024 025 026 027 028 029 030 031 
[    0.000000] pcpu-alloc: [0] 032 033 034 035 036 037 038 039 
[    0.000000] pcpu-alloc: [0] 040 041 042 043 044 045 046 047 
[    0.000000] pcpu-alloc: [0] 048 049 050 051 052 053 054 055 

3.free命令查看内存使用状态

#相对比vmstat、top都可以看到内存使用状态,但free命令专门针对的是内存查看

😀格式

[root@localhost~]# free [-b|-k|-m|-g]
选项:
    -b:    以字节为单位显示
    -k:    以KB为单位显示,默认就是以KB为单位显示
    -m:    以MB为单位显示
    -g:    以GB为单位显示

😀举例

[root@localhost ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1863072      193864      743092        9864      926116     1471952
Swap:       2097148           0     2097148

😀参数详解

参数释义
total内存总数,物理内存总数
used已经使用的内存数
free空闲的内存数
shared多个进程共享的内存总额
buffers Buffer缓冲内存数
cached Page缓存内存数
-buffers/cache应用使用内存数
+buffers/cache应用可用内存数
Swap交换分区,虚拟内存

# 对操作系统来讲是Mem的参数,buffers/cached 都是属于被使用,所以它认为free只有725M。

# 我们通过free命令查看机器空闲内存时,会发现free的值很小。这主要是因为,在Linux系统中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。

😀缓存和缓冲的区别

        简单来说缓存(cache)是用来加速数据从硬盘中“读取”的,而缓冲(buffer)是用来加速数据“写入”硬盘的。


4.查看cpu信息

[root@localhost~]# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 165
model name      : Intel(R) Core(TM) i5-10300H CPU @ 2.50GHz
stepping        : 2
microcode       : 0xc8
cpu MHz         : 2495.998
cache size      : 8192 KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 22
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat pku ospke md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
bogomips        : 4991.99
clflush size    : 64
cache_alignment : 64
address sizes   : 43 bits physical, 48 bits virtual
power management:

# 使用dmesg | grep cpu查询的是系统cpu的启动字节,而相对于cpuinfo信息就更加详细

注:/proc/cpuinfo是内存缓存,断电之后里面的信息就会释放;系统在开机启动的时候会对系统进行检测,相对应的信息会写入该文件。


5.uptime命令

[root@localhost~]# uptime
 14:05:11 up 1 day,  4:49,  3 users,  load average: 0.00, 0.02, 0.05

#显示系统的启动时间和平均负载,也就是top命令的第一行。w命令也可以看到这个数据。
[root@localhost ~]# w
 14:05:58 up 1 day,  4:50,  3 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1                      093月22  3:48m  0.44s  0.43s -bash
root     pts/0    192.168.48.1     13:57    6.00s  0.03s  0.00s w
root     pts/1    192.168.48.1     13:57    8:36   0.37s  0.37s top

6.查看系统与内核相关信息

① uname

😀格式

[root@localhost~]# uname [选项]
选项:
    -a:    查看系统所有相关信息
    -r:    查看内核版本
    -s:    查看内核命令

😀实例

[root@localhost ~]# uname
Linux
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# uname -r
3.10.0-1062.el7.x86_64
[root@localhost ~]# uname -s
Linux

②判断当前系统的位数

[root@localhost~]# file /bin/ls

😀实例

[root@localhost~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aaf05615b6c91d3cbb076af81aeff531c5d7dfd9, stripped
 

/bin/ls:ELF 64-bit

可以看到我的系统为64位数

#Linux并没有直接查看系统位数命令,除非系统是自己安装的;那么可以通过file命令查看shell外部命令的文件类型来查看系统位数。


③判断当前Linux系统的发行版本

[root@localhost~]# lsb_release -a

😀实列

[root@localhost ~]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.7.1908 (Core)
Release:        7.7.1908
Codename:       Core

我所用的Linux版本为Centos

注意:系统最小化安装默认是没有这个命令,需自己手动安装

[root@localhost~]# yum provides lsb_release
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
epel/x86_64/filelists_db                                                                                                                                                 |  12 MB  00:00:02     
updates/7/x86_64/filelists_db                                                                                                                                            | 7.8 MB  00:00:01     
redhat-lsb-core-4.1-27.el7.centos.1.i686 : LSB Core module support

#查询lsb_release相关软件包
[root@localhost~]# yum -y install redhat-lsb-core
#开始安装

7.列出进程打开或使用的文件信息

😀格式

[root@localhost~]# lsof [选项]
选项:
    -c 字符串:    只列出以字符串开头的进程打开的文件
    -u 用户名:    只列出某个用户的进程打开的文件
    -p pid:      列出某个PID进程打开的文件

# ps aux查询的是系统当中所有进程,当需要查询某个进程调用了哪些文件,此时就需要用到lsof

😀实例

[root@localhost ~]# lsof -c sshd
COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF    NODE NAME
sshd      992 root  cwd    DIR                8,2     4096       2 /
sshd      992 root  rtd    DIR                8,2     4096       2 /
sshd      992 root  txt    REG                8,2   852856  270651 /usr/sbin/sshd
sshd      992 root  DEL    REG                8,2           264902 /usr/lib64/libnss_files-2.17.so;62318722
[root@localhost ~]# lsof -u root
COMMAND      PID USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME
systemd        1 root  cwd       DIR                8,2      4096          2 /
systemd        1 root  rtd       DIR                8,2      4096          2 /
systemd        1 root  txt       REG                8,2   1624552     269268 /usr/lib/systemd/systemd
systemd        1 root  mem       REG                8,2     20064     265129 /usr/lib64/libuuid.so.1.3.0
systemd        1 root  mem       REG                8,2    265600     267414 /usr/lib64/libblkid.so.1.1.0
[root@localhost ~]# lsof -p 1
COMMAND PID USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
systemd   1 root  cwd       DIR                8,2     4096          2 /
systemd   1 root  rtd       DIR                8,2     4096          2 /
systemd   1 root  txt       REG                8,2  1624552     269268 /usr/lib/systemd/systemd
systemd   1 root  mem       REG                8,2    20064     265129 /usr/lib64/libuuid.so.1.3.0
systemd   1 root  mem       REG                8,2   265600     267414 /usr/lib64/libblkid.so.1.1.0
systemd   1 root  mem       REG                8,2    90248     265078 /usr/lib64/libz.so.1.2.7
systemd   1 root  mem       REG                8,2   157424     265090 /usr/lib64/liblzma.so.5.2.2
systemd   1 root  mem       REG                8,2    23968     265323 /usr/lib64/libcap-ng.so.0.0.0

4.系统定时任务

        此小节难易程度是比较低,但在服务器上是一个非常常见的技术,在windows中类似定时计划,在个人机上面只有一些杀毒软件会有定时杀毒计划等;但在服务器中大多工作都可以自动化执行,好比备份工作

crond服务管理与访问控制

        Crond是linux系统中用来定期执行命令/脚本或指定程序任务的一种服务或软件,一般情况下,我们安装完Centos5/6 linux操作系统之后,默认便会启动Crond任务调度服务。

[root@localhost~]# service crond restart 
[root@localhost~]# chkconfig crond on

# 启动\自启动crond

😀格式

[root@localhost~]# crontab [选项]
选项:
    -e:    编辑crontab定时任务
    -l:    查询crontab任务
    -r:    删除当前用户所有的crontab任务
[root@localhost~]# crontab -e
#进入crondtab编辑界面。会打开vim编辑你的工作。

标准格式

* * * * * 执行任务

#删除某一条临时任务只需进入vim编辑删除相关行

😀五个*的含义

项目含义范围
第一个“*”一小时当中的第几分钟0-59
第二个“*”一天当中的第几小时0-23
第三个“*”一个月当中的第几天1-31
第四个“*”一年当中的第几月1-12
第五个“*”一周中的星期几0-7(0、7都为星期日)

😀使用技巧1

时间含义
45 22 * * *  命令        在22点45分执行命令
0 17 * * 1 命令每周1的17点0分执行命令
0 5 1,15 * * 命令        每月1号和15号凌晨5点0分执行命令
40 4 * * 1-5 命令每周一至周五的凌晨4点40执行命令
*/10 4 * * * 命令每天的凌晨4点,每隔10分钟执行一次命令
0 0 1,15 * 1 命令每月1号和15号,每周1的0点0分都会执行命令

注意:星期几和几号最好不要同时出现,因为他们定义的都是天,非常容易让管理员混乱。

😀使用技巧2

特殊符号含义
*代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。
代表不连续的时间
-代表连续的时间范围
*/n代表每隔多久执行一次。比如“*/10 * * * *命令”,代表每个10分钟就执行一遍命令

😀举例

[root@localhost ~]# crontab -e
* * * * * /bin/echo 打印 >> /tmp/test

# 为了突出效果举一个比较直观的例子,每隔一分钟echo输出一次“打印”

[root@localhost ~]# date
2022年 03月 16日 星期三 18:08:17 CST

注:定时任务最小识别范围以分钟为单位,所以如果定时任务保存时间为18:07:50,那么过10秒之后检测分钟数值有变化就会执行定时任务。

[root@localhost ~]# cat /tmp/test
打印
打印
[root@localhost ~]# crontab -l
* * * * * /bin/echo 打印 >> /tmp/test
[root@localhost ~]# 

GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:4 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐