6.查找、cron、NTP

本文详细介绍了Linux中的查找命令,包括grep、find的使用,如根据字符串模式提取文本行,按照文件类型、名称、大小和所有者进行查找。此外,还讲解了NTP时间同步的概念,RHEL7中chrony服务的配置和时间校准步骤,以及cron计划任务的管理和编写方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 查找文本内容

• 根据字符串模式提取文本行
grep [选项]  '匹配模式'   文本文件...
– 命令行  |  grep  [选项]   '匹配模式'

• 常用命令选项
-v,取反匹配
-i,忽略大小写

[root@server0 ~]# grep root /etc/passwd

[root@server0 ~]# grep ROOT /etc/passwd
[root@server0 ~]# grep -i ROOT /etc/passwd

[root@server0 ~]# grep root /etc/passwd
[root@server0 ~]# grep -v root /etc/passwd

^word  以字符串word开头
– word$  以字符串word结尾
–   ^$       匹配空行

[root@server0 ~]# grep ^root /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@server0 ~]# grep root$ /etc/passwd
[root@server0 ~]# grep bash$ /etc/passwd

[root@server0 ~]# cat  /etc/default/useradd  #查看文件内容
[root@server0 ~]# grep ^$ /etc/default/useradd 
[root@server0 ~]# grep -v ^$  /etc/default/useradd

在Linux大多数配置文件中,以#开头的行为注释行
请显示文件内容的有效配置(去除空行与注释行)
]# grep -v ^# /etc/login.defs     #去除以#开头
]# grep -v ^# /etc/login.defs |  grep   -v  ^$
]# grep -v ^# /etc/login.defs |  grep   -v  ^$  |  cat -n

]# grep -v ^# /etc/login.defs |  grep   -v ^$  >  /opt/1.txt


 

  • 查找文件

• 根据预设的条件递归查找对应的文件
find  [目录]   [条件1]  [-a|-o]  [条件2] ...

– 常用条件表示:
  -type 类型(f文件、d目录、l快捷方式)
  -name "文档名称"
  -size +|-文件大小(k、M、G)
  -user 用户名

-type  按照类型查找           
[root@server0 ~]# find /boot/ -type l    #查找快捷方式
[root@server0 ~]# ls /boot/grub/menu.lst 
[root@server0 ~]# ls -l /boot/grub/menu.lst

[root@server0 ~]# find /boot/ -type f    #查找是文本文件
[root@server0 ~]# find /boot/ -type d

[root@server0 ~]# find /root/ -type d    #查找是目录


  -name '文档名称'

[root@server0 ~]# find /etc/  -name 'passwd'
[root@server0 ~]# find /etc/ -name 'passwd*'
[root@server0 ~]# find /etc/ -name '*passwd*'

[root@server0 ~]# mkdir /root/nsd01
[root@server0 ~]# touch /root/nsd02.txt
[root@server0 ~]# touch /root/nsd03.txt
[root@server0 ~]# find  /root/  -name 'nsd*'

[root@server0 ~]# find /root/ -name 'nsd*'  -a  -type d
[root@server0 ~]# find /root/ -name 'nsd*'  -type d

[root@server0 ~]# find /root/ -name 'nsd*'  -type f


  -size +或-文件大小(k、M、G)
  -user 用户名      #按照所有者进行查找

[root@server0 ~]# find /boot/  -size  +10M
[root@server0 ~]# find /boot/  -size  -10M


[root@server0 ~]# find    /    -user  student
[root@server0 ~]# find    /home    -user  student
[root@server0 ~]# find    /var    -user  student


• 根据名称查找,忽略大小写
– -iname

[root@server0 ~]# find /etc -name 'PASSWD'
[root@server0 ~]# find /etc -iname 'PASSWD'
/etc/passwd
/etc/pam.d/passwd

  • • 根据所属组

– -group
[root@server0 ~]# find /home/ -group 'student'

• 限制目录查找的深度(最大层数)
– -maxdepth
[root@server0 ~]# find /etc/  -maxdepth  1   -name '*.conf'
[root@server0 ~]# find /etc/  -maxdepth  2   -name '*.conf'
[root@server0 ~]# find /etc/  -maxdepth  3   -name '*.conf'


• 根据文件修改时间(所有的时间都是过去时间)
  -mtime
      
      +10   :10天之前的文档
      -10   :最近10天之内的文档


[root@server0 ~]# find /var/  -mtime +100  -type f

[root@server0 ~]# find /var/  -mtime -5  -type f


 

案例2:查找并处理文件
• 使用find命令完成以下任务
– 找出所有用户 student 拥有的文件
– 把它们拷贝到 /root/findfiles/ 文件夹中

[root@server0 ~]# mkdir /root/findfiles
[root@server0 ~]# find / -user student -type f

• 使用find命令的 -exec 操作
– find .. .. -exec 处理命令 {} \;
– 优势:以 {} 代替每一个结果,逐个处理,遇 \; 结束
]# find /  -user student -type f    
]# find /  -user student -type f   -exec cp   {}    /root/findfiles/   \;

]# ls -A /root/findfiles/

]# find  /boot  -size  +10M 
]# find  /boot  -size  +10M  -exec cp {}  /opt  \;
]# ls  /opt
 

NTP时间同步

NTP网络时间协议
• Network Time Protocol
– NTP服务器为客户机提供标准时间
– NTP客户机需要与NTP服务器保持沟通

• RHEL7客户端的校时服务
– 软件包:chrony
– 配置文件:/etc/chrony.conf
– 系统服务:chronyd

NTP时间服务器:虚拟机classroom
NTP客户机:虚拟机server
1.安装chrony包进行安装
[root@server0 ~]# yum -y install chrony
   
软件包 chrony-1.29.1-1.el7.x86_64 已安装并且是最新版本
无须任何处理

[root@server0 ~]# rpm -q chrony

2.修改配置文本(指定服务端位置)
[root@server0 ~]# vim /etc/chrony.conf 
  
#server 0.rhel.pool.ntp.org iburst   #开头加上#号,变成注释
#server 1.rhel.pool.ntp.org iburst   #开头加上#号,变成注释
#server 2.rhel.pool.ntp.org iburst   #开头加上#号,变成注释
server classroom.example.com iburst  #修改内容,指向classroom

3.重起服务chronyd
   daemon:守护神;(希腊神话中)半人半神的精灵;[计]守护进程

[root@server0 ~]# systemctl restart chronyd
[root@server0 ~]# systemctl enable chronyd  #设置开机自起

4.测试时间同步
[root@server0 ~]# date -s '2000-10-1  11:11:11'
2000年 10月 01日 星期日 11:11:11 CST
[root@server0 ~]# date
2000年 10月 01日 星期日 11:11:13 CST
[root@server0 ~]# systemctl restart chronyd
[root@server0 ~]# date
[root@server0 ~]# timedatectl |grep NTP

NTP enabled:yes                                      # 检测此项为yes
[root@server0 ~]# timedatectl set-ntp yes  #必要时修正


cron计划任务

周期性任务
cron任务概述
• 用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务

• 软件包:cronie、crontabs
• 系统服务:crond
• 日志文件:/var/log/crond

         
管理计划任务策略
• 使用 crontab 命令
– 编辑:crontab -e [-u 用户名]
– 查看:crontab -l [-u 用户名]
– 清除:crontab -r [-u 用户名]

如何编写crontab任务记录
• 配置格式可参考 /etc/crontab 文件
  – 分   时   日   月   周     任务命令行(绝对路径)

   0  23  *  *  *     powerofff

    30   8     *   *   * 

    0    18    *   *   5 

    0    18    *   *   1-5 

    0    18    *   *   1,3,5,7

    0     */2   *   *   *                #每两个小时

    *:匹配范围内任意时间
    ,:分隔多个不连续的时间点
    -:指定连续时间范围
    /n:指定时间频率,每n ...

    30   8     1   *   2     每月的一号的8点30分和每周二的8点30分 都执行

   每分钟记录当前系统的时间,写入到/opt/time.txt
[root@server0 ~]# date
2019年 03月 05日 星期二 15:30:04 CST
[root@server0 ~]# date >> /opt/time.txt
[root@server0 ~]# cat /opt/time.txt

[root@server0 ~]# crontab -e -u root  #以root身份编辑计划任务
[root@server0 ~]# crontab -l -u root  #查看root用户的计划任务
*  *  *  *  *      date >> /opt/time.txt  
[root@server0 ~]# cat /var/spool/cron/root    #任务文件
*  *  *  *  *      date >> /opt/time.txt
[root@server0 ~]# 

 

  • 修改用户家目录

[root@server0 ~]# useradd harry
[root@server0 ~]# ls /home/

[root@server0 ~]# usermod -d /opt/abc  harry
[root@server0 ~]# grep harry /etc/passwd
[root@server0 ~]# ls /opt/

[root@server0 ~]# cp -r /home/harry/  /opt/abc
[root@server0 ~]# ls -ld /opt/abc
[root@server0 ~]# chown -R harry:harry  /opt/abc/
[root@server0 ~]# ls -ld /opt/abc/

[root@server0 ~]# ls -lA /opt/abc/
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值