Linux中包管理与定时任务
第1章 软件查询
1.1 查询软件是否安装
rpm -qa |grep cron 查询是否安装了这个软件.
[root@znix ~]# rpm -qa |grep cron
crontabs-1.10-33.el6.noarch
cronie-1.4.4-16.el6_8.2.x86_64
cronie-anacron-1.4.4-16.el6_8.2.x86_64
[root@znix ~]#
1.2 查看查询是否正在运行
[root@znix ~]# ps -ef |grep crond
root 1570 1 0 Sep02 ? 00:00:00 crond
root 14941 14780 0 09:08 pts/0 00:00:00 grep --color=auto crond
1.3 安装crond的方法
1.3.1 crond属于哪里
crond,不能单独安装,是软件包里所带的功能。
yum安装的时候需要需要安装,
[root@znix ~]# yum install crond
Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
* base: mirrors.btte.net
* extras: mirrors.btte.net
* updates: mirrors.sohu.com
base | 3.7 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
No package crond available.
Error: Nothing to do
1.3.2 查询软件所属软件包
[root@znix ~]# rpm -qf `which crond`
cronie-1.4.4-16.el6_8.2.x86_64
1.3.3 如何查看软件包里的内容
rpm -ql 显示软件包里的信息。名字必须一致.
[root@znix ~]# rpm -ql cronie
/etc/cron.d
/etc/cron.d/0hourly
/etc/cron.deny
/etc/pam.d/crond
/etc/rc.d/init.d/crond
/etc/sysconfig/crond
/usr/bin/crontab
/usr/sbin/crond
/usr/share/doc/cronie-1.4.4
/usr/share/doc/cronie-1.4.4/AUTHORS
/usr/share/doc/cronie-1.4.4/COPYING
/usr/share/doc/cronie-1.4.4/ChangeLog
/usr/share/doc/cronie-1.4.4/INSTALL
/usr/share/doc/cronie-1.4.4/README
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/man/man8/cron.8.gz
/usr/share/man/man8/crond.8.gz
/var/spool/cron
1.3.4 如何查看一个安装的软件
rpm 如何查询软件包的内容
yum 安装不上的,可能是软件包的一部分
查看 crond 属于哪个软件包,查询时要使用绝对路径
1.4 查询ifconfig 属于哪个软件包
[root@znix ~]#
[root@znix ~]# rpm -qf `which ifconfig`
net-tools-1.60-114.el6.x86_64
[root@znix ~]# rpm -ql net-tools
/bin/dnsdomainname
/bin/domainname
第2章 定时任务
2.1 什么是定时任务
每隔相同的时间,相同的事情(执行命令或脚本)。
2.2 系统中的定时任务
[root@znix ~]# ls -ld /etc/cron*
drwxr-xr-x. 2 root root 4096 Aug 10 18:37 /etc/cron.d
drwxr-xr-x. 2 root root 4096 Aug 10 18:38 /etc/cron.daily
-rw-------. 1 root root 0 Aug 24 2016 /etc/cron.deny
drwxr-xr-x. 2 root root 4096 Aug 10 18:36 /etc/cron.hourly
drwxr-xr-x. 2 root root 4096 Aug 10 18:37 /etc/cron.monthly
-rw-r--r--. 1 root root 457 Sep 27 2011 /etc/crontab
drwxr-xr-x. 2 root root 4096 Sep 27 2011 /etc/cron.weekly
/etc/cron.deny 禁止用户使用定时任务 ,把用户名放到里面
2.2.1 日志切割-日志的轮询
每隔一段时间,将日志进行分割
[root@znix ~]# ls /var/log/messages*
/var/log/messages /var/log/messages-20170828
/var/log/messages-20170814 /var/log/messages-20170904
/var/log/messages-20170821
2.2.2 日志的轮询的定时任务
[root@znix cron.daily]# cat /etc/logrotate.d/syslog
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
2.3 用户定时任务crontab
2.3.1 crontab 使用
-e 编辑
-l 查看
-u 设置指定用户的定时任务
[root@znix cron.daily]# crontab --help
crontab: invalid option -- '-'
crontab: usage error: unrecognized option
usage: crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
(default operation is replace, per 1003.2)
(edit user's crontab)
(list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
-s (selinux context)
2.3.2 指定用户的定时任务
-u 指定用户
[root@znix ~]# crontab -u oldboy -l
#oldboy
[root@znix ~]# ll /var/spool/cron/
total 8
-rw------- 1 root root 8 Sep 7 10:23 oldboy
-rw------- 1 root root 77 Sep 4 20:43 root
2.4 定时任务的使用-
2.4.1 看定时任务的软件的是否能用
[root@znix ~]# ps -ef |grep cron
root 1570 1 0 Sep02 ? 00:00:00 crond
[root@znix ~]# service crond status
crond (pid 1570) is running...
[root@znix ~]# /etc/init.d/crond status
crond (pid 1570) is running...
2.4.2 看定时任务是否开机自启动
[root@znix ~]# chkconfig |grep cron
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
2.4.3 linux里的守护进程 (服务)
[root@znix ~]# chkconfig |egrep "crond|network|rsyslog|sshd|sysstat"
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off 定时任务
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off 网络服务
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off 系统日志
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off 远程链接服务器
sysstat 0:off 1:on 2:on 3:on 4:on 5:on 6:off 监测系统性能及效率
2.5 与定时任务相关的文件
2.5.1 定时任务的日志
[root@znix ~]# tail -2 /var/log/cron
Sep 7 10:23:42 znix crontab[15409]: (root) LIST (oldboy)
Sep 7 10:25:01 znix CROND[15412]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1)
2.5.2 定时任务所在目录
[root@znix ~]# ls /var/spool/cron
2.5.3 禁止那些用户使用定时任务
[root@znix ~]# cat /etc/cron.deny
2.6 linux中查看的命令日志
对与较大的文件,查看的时候,尽量不要cat.通过其他的命令,快速找到要找的内容.
grep /egrep
less
tail /tail -f
head
2.7 定时任务的基本格式
* * * * * CMD
分时日月周 CMD
其中 * 表示每
/n 每隔多长时间
2.7.1 定时任务中的时间
[root@znix ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
2.7.2 定时任务--每5分钟同步一下系统时间
1.用什么命令,首先将命令测试一下,没有错误后,再写入定时任务.
[root@znix ~]# ntpdate ntp1.aliyun.com
7 Sep 10:52:57 ntpdate[15460]: adjust time server 182.92.12.11 offset 0.479762 sec
2.写定时任务--写定时任务要使用绝对路径, 在后面加上2>&1,表示正确的,错误的都输出到同一个文件中.
[root@znix ~]# crontab -e
###time tongbu
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1
3.检查结果,可以看日志,也可看命令的执行结果.
[root@znix ~]# tail -1 /var/log/cron
Sep 7 10:55:01 znix CROND[15466]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1)
实例2-1 每分钟把自己的名字 追加到 /oldboy/oldboy.txt
* * * * * /bin/echo clsn >> /oldboy/oldboy.txt
使用tail命令查看命令的执行情况,可以看到文件的内容.
[root@znix ~]# tail -f /oldboy/oldboy.txt
clsn
clsn
clsn
查看日志,查看命令执行的时间.
[root@znix ~]# tail -3 /var/log/cron
Sep 7 12:05:01 znix CROND[15674]: (root) CMD (/bin/echo clsn >> /oldboy/oldboy.txt 2>&1)
Sep 7 12:06:01 znix CROND[15678]: (root) CMD (/bin/echo clsn >> /oldboy/oldboy.txt 2>&1)
Sep 7 12:07:01 znix CROND[15681]: (root) CMD (/bin/echo clsn >> /oldboy/oldboy.txt 2>&1)
2.8 注意
错误:
* * * * * /bin/echo "oldboy" >>/oldboy/oldboy.txt >/dev/null 2>&1
实例2-2 二者不可同时使用.
定时任务中 命令/脚本定向到空
/dev/null 2>&1
定时任务中 命令/脚本追加到文件中
/oldboy/oldboy.txt 2>&1
Linux中包管理与定时任务的更多相关文章
- 【转】Linux中包管理与定时任务
[转]Linux中包管理与定时任务 第1章 软件查询 1.1 查询软件是否安装 rpm -qa |grep cron 查询是否安装了这个软件. [root@znix ~]# rpm -qa |grep ...
- Linux程序包管理之yum及源代码安装
第十六章.Linux程序包管理之yum及源代码安装 目录 yum介绍 yum配置文件 yum的repo配置文件中可用的变量 yum命令的使用 使用光盘作为本地yum仓库 如何创建yum仓库 编译安装的 ...
- Linux程序包管理rpm与yum
Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...
- 【转】Linux中常见问题(磁盘 定时任务)
[转]Linux中常见问题(磁盘 定时任务) 第1章 linux无法上网 1) 第一步,先ping域名. ping www.baidu.com 2)再ping一个公网ip , ping 223 ...
- 深入理解Linux中内存管理
前一段时间看了<深入理解Linux内核>对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看 ...
- Linux程序包管理之rpm
rpm简介 rpm( Red Hat Package Manager )是一个开放的软件包管理系统.它工作于Red Hat Linux及其他Linux系统,成为Linux中公认的软件包管理标准. rp ...
- Linux中常见问题(磁盘 定时任务)
第1章 linux无法上网 1) 第一步,先ping域名. ping www.baidu.com 2)再ping一个公网ip , ping 223.5.5.5/223.6.6.6/114.11 ...
- Linux之包管理工具总结[RPM/DPKG]-[YUM/APT]
0.关键词解释 RPM:Red Hat Package Manager(原名),RPM Package Manager(现名,递归缩写,类似于GNU的命名); 解释:RPM软件包管理器 YUM:Yel ...
- Linux对包管理阐述
Centos/Redhat/Fedora的软件包,都是rpm后缀的文件.包管理器rpm(Redhat packages manager) linux的哲学思想是简单命令解决复杂任务,因此每个软件的功 ...
随机推荐
- PHP垃圾回收机制理解
使用的是"引用计数"方式进行回收.简单地理解的话,就是每个分配的内存区域都有一个计数器,记录有多少个变量指针指向这片内存.当指向该片内存的指针数量为0,那么该片内存区域就可以被回收 ...
- AngularJS系列-翻译官网
公司之前一直用的Web前台框架是Knockout,我们通常直接叫ko,有看过汤姆大叔的KO系列,也有在用,发现有时候用得不太顺手.本人是会WPF的,所以MVVM也是比较熟悉的,学ko也是很快就把汤姆大 ...
- Grunt针对静态文件的压缩,版本控制打包方案
在讲之前先谈谈大致步骤:安装nodejs -> 全局安装grunt -> 项目创建package.json --> 项目安装grunt以及grunt插件 -> 配置Gruntf ...
- Spring 具名参数NamedParameterJdbcTemplate
具名参数: 具名参数:SQL 按名称(以冒号开头)而不是按位置进行指定. 具名参数更易于维护, 也提升了可读性. 具名参数由框架类在运行时用占位符取代 我们之前一直是用JDBCTemplate 进行 ...
- 关于SSH
SSH的英文全称是Secure Shell. 传统的网络服务程序,如:ftp和telnet在本质上都是不安全安全安全安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令 ...
- 用 Python 撸一个区块链
本文翻译自 Daniel van Flymen 的文章 Learn Blockchains by Building One 略有删改.原文地址:https://hackernoon.com/learn ...
- 入门VMware Workstation下的Debian学习之基本命令(二)
本章记录如何在Linux终端进行命令操作命令下载路径,模拟终端.dkpg管理软件包.用户组和用户管理.文件属性.文件与目录管理.查看磁盘使用量. (1)命令下载路径: wegt 路径; (2)模拟终端 ...
- Go语言备忘录:反射的原理与使用详解
目录: 预备知识 reflect.Typeof.reflect.ValueOf Value.Type 动态调用 通过反射可以修改原对象 实现类似“泛型”的功能 1.预备知识: Go的变量都是静态类 ...
- bootstrap 响应式导航条模板(含下拉菜单,弹出框)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C语言通过函数参数不能带出动态内存的例子。
实验结论:通过函数参数不能带出动态内存,函数参数虽然为指针,其实是在函数内部的临时变量,只是该指针的初始值是通过调用函数赋值的.C语言函数参数都是传值的. #include <stdio.h&g ...