文档总结13-linux中yum与定时任务

来源:互联网 发布:冷热数据分离 编辑:程序博客网 时间:2024/06/05 12:52

一、yum命令的总结

yum 命令 注释 yum install softwarename 安装 repolist 列出设定yum源信息 remove softwarename 卸载 list softwarename 查看软件源中是否有次软件 list all 列出所有软件名称 list installd 列出已经安装的软件名称 list available 列出可以用yum安装的软件名称 clean all 清空yum缓存 search softwareinfo 根据软件信息搜索软件名字 whatprovides filename 在yum源中查找包含filename文件的软件包 update 更新软件 history 查看系统软件改变历史 reinstall softwarename 重新安装 info softwarename 查看软件信息 groups list 查看软件组信息 groups info softwaregroup 查看软件组内包含的软件 groups install softwaregroup 安装组件 groups remove softwaregroup 卸载组件

关于yum命令的习题

1). 搜寻与raid相关的软件有哪些?

[root@server254 ~]# yum search raidLoaded plugins: langpacks============================== N/S matched: raid ===============================dmraid.x86_64 : dmraid (Device-mapper RAID tool and library)dmraid.i686 : dmraid (Device-mapper RAID tool and library)dmraid-events.x86_64 : dmevent_tool (Device-mapper event tool) and DSOiprutils.x86_64 : Utilities for the IBM Power Linux RAID adaptersmdadm.x86_64 : The mdadm program controls Linux md devices (software RAID             : arrays)

2). 找出vsftpd这个软件的功能是什么?

Loaded plugins: langpacksAvailable PackagesName        : vsftpdArch        : x86_64Version     : 3.0.2Release     : 10.el7Size        : 167 kRepo        : rhel7Summary     : Very Secure Ftp DaemonURL         : https://security.appspot.com/vsftpd.htmlLicense     : GPLv2 with exceptionsDescription : vsftpd is a Very Secure FTP daemon. It was written completely from            : scratch.

3). 列出yum中提供的所有软件包名称.

[kiosk@foundation90 Desktop]$ yum list allLoaded plugins: langpacks, product-id, search-disabled-repos, subscription-              : managerRepodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fastInstalled PackagesGConf2.x86_64                           3.2.6-8.el7                @anaconda/7.2ModemManager-glib.x86_64                1.1.0-8.git20130913.el7    @anaconda/7.2NetworkManager.x86_64                   1:1.0.6-27.el7             @anaconda/7.2NetworkManager-config-server.x86_64     1:1.0.6-27.el7             @anaconda/7.2NetworkManager-glib.x86_64              1:1.0.6-27.el7             @anaconda/7.2NetworkManager-libnm.x86_64             1:1.0.6-27.el7             @anaconda/7.2NetworkManager-libreswan.x86_64         1.0.6-3.el7                @anaconda/7.2NetworkManager-libreswan-gnome.x86_64   1.0.6-3.el7                @anaconda/7.2NetworkManager-team.x86_64              1:1.0.6-27.el7             @anaconda/7.2NetworkManager-tui.x86_64               1:1.0.6-27.el7             @anaconda/7.2NetworkManager-wifi.x86_64              1:1.0.6-27.el7             @anaconda/7.2ORBit2.x86_64                           2.14.19-13.el7             @anaconda/7.2PackageKit.x86_64                       1.0.7-5.el7                @anaconda/7.2PackageKit-command-not-found.x86_64     1.0.7-5.el7                @anaconda/7.2PackageKit-glib.x86_64                  1.0.7-5.el7                @anaconda/7.2PackageKit-gtk3-module.x86_64           1.0.7-5.el7                @anaconda/7.2PackageKit-yum.x86_64                   1.0.7-5.el7                @anaconda/7.2......

4). 列出提供passwd文件的软件有哪些?

[root@server254 ~]# yum whatprovides */passwdLoaded plugins: langpacks1:bash-completion-2.1-6.el7.noarch : Programmable completion for BashRepo        : rhel7Matched from:Filename    : /usr/share/bash-completion/completions/passwdfreeradius-3.0.4-6.el7.x86_64 : High-performance and highly configurable free                              : RADIUS serverRepo        : rhel7Matched from:Filename    : /etc/raddb/mods-available/passwdFilename    : /etc/raddb/mods-enabled/passwdnscd-2.17-105.el7.x86_64 : A Name Service Caching Daemon (nscd).Repo        : rhel7Matched from:Filename    : /var/run/nscd/passwdFilename    : /var/db/nscd/passwd......

5). 利用yum的功能,找出以pam开头的软件包有哪些?

[root@server254 ~]#  yum list pam*Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-              : managerRepodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fastInstalled Packagespam.x86_64                        1.1.8-12.el7_1.1                 @anaconda/7.2Available Packagespam.i686                          1.1.8-12.el7_1.1                 rhel-dvd     pam-devel.i686                    1.1.8-12.el7_1.1                 rhel-dvd     pam-devel.x86_64                  1.1.8-12.el7_1.1                 rhel-dvd     pam_krb5.i686                     2.4.8-4.el7                      rhel-dvd     pam_krb5.x86_64                   2.4.8-4.el7                      rhel-dvd     pam_pkcs11.i686                   0.6.2-24.el7                     rhel-dvd     pam_pkcs11.x86_64                 0.6.2-24.el7                     rhel-dvd 

6). 找出跟java相关的软件包,并安装1.7的版本.

[root@server254 ~]#  yum search javaLoaded plugins: langpacks, product-id, search-disabled-repos, subscription-              : managerRepodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast============================== N/S matched: java ===============================abrt-java-connector.x86_64 : JNI Agent library converting Java exceptions to                           : ABRT problemsjava-atk-wrapper.i686 : Java ATK Wrapperjava-atk-wrapper.x86_64 : Java ATK Wrapperjavamail.noarch : Java Mail APIjavapackages-tools.noarch : Macros and scripts for Java packaging support......[root@server254 ~]# yum install java-1.7.0-openjdk.x86_64 -yLoaded plugins: langpacksResolving Dependencies--> Running transaction check---> Package java-1.7.0-openjdk.x86_64 1:1.7.0.51-2.4.5.5.el7 will be updated......Updated:  java-1.7.0-openjdk.x86_64 1:1.7.0.91-2.6.2.3.el7                              Dependency Updated:  java-1.7.0-openjdk-headless.x86_64 1:1.7.0.91-2.6.2.3.el7                     Complete!

二、at和batch命令

1.at命令

定时任务,仅执行一次的工作任务;
at任务提交后,保存在/var/spool/at/目录的文件中;
atd服务监控/var/spool/at/目录中的文件,如果时间到了就执行.

1).at的时间格式:(只精确到分钟)

HH:MM HH:MM YYYY-MM-DD
HH:MM [am|pm]
HH:MM+5min
now+5day[|min|month|day]

at 命令 注释 at -l 等同于atq命令,列出定时任务 -m 如果定时任务无输出,-m可以以邮件方式通知. -d 等同于atrm命令, 删除某个定时任务,参数后面跟编号; -v 以易读懂的时间格式指定定时任务; at -v now+1day -c 定时任务具体的内容
[root@server254 ~]# at now+5minat> mailat> <EOT>job 4 at Mon Oct 30 11:50:00 2017[root@server254 ~]# at -l4   Mon Oct 30 11:50:00 2017 a root[root@server254 ~]# at -c 4#!/bin/sh# atrun uid=0 gid=0# mail root 0......[root@server254 ~]# at -d 4[root@server254 ~]# at -l

2).at的黑白名单

/etc/at.allow

[root@server254 ~]# vim /etc/at.allow[root@server254 ~]# cat /etc/at.allowharry[root@server254 ~]# su - harryLast login: Sat Oct 28 12:50:06 EDT 2017 on pts/0[harry@server254 ~]$ at nowat> <EOT>job 5 at Mon Oct 30 11:50:00 2017[harry@server254 ~]$ logout[root@server254 ~]# su - natashaLast login: Sat Oct 28 12:43:36 EDT 2017 on pts/0[natasha@server254 ~]$ at nowYou do not have permission to use at.

/etc/at.deny

[root@server254 ~]# rm -fr /etc/at.allow [root@server254 ~]# cat /etc/at.deny harry[root@server254 ~]# su - harry Last login: Mon Oct 30 11:52:12 EDT 2017 on pts/0[harry@server254 ~]$ at nowYou do not have permission to use at.[harry@server254 ~]$ logout[root@server254 ~]# su - natashaLast login: Mon Oct 30 11:52:19 EDT 2017 on pts/0[natasha@server254 ~]$ at nowat> <EOT>job 6 at Mon Oct 30 11:53:00 2017

注:at.allow的优先级高于at.deny,at.allow存在时不读取at.deny,即使at.allow为空(为空时所有除root用户不得设用at命令)。

2.batch命令

1). 测试负载较小时batch的结果;

uptime batch echo ‘hello’ mail

[root@server254 ~]# uptime 12:15:13 up  2:38,  2 users,  load average: 0.00, 0.01, 0.05[root@server254 ~]# batchat> echo 'hello'at> mailat> <EOT>job 8 at Mon Oct 30 12:15:00 2017[root@server254 ~]# mailHeirloom Mail version 12.5 7/5/10.  Type ? for help."/var/spool/mail/root": 1 message 1 new>N  1 root                  Mon Oct 30 12:15  15/518   "Output from your job "& 1Message  1:From root@server254.localdomain  Mon Oct 30 12:15:32 2017......hello

2). 测试负载>0.8时,batch的结果;

1). 增加负载load; dd if=/dev/zero of=file bs=10M count=1000
2). uptime
3). batch

[root@server254 ~]# dd if=/dev/zero of=file bs=10M count=1000[root@server254 ~]# uptime 12:18:28 up  2:41,  2 users,  load average: 2.32, 0.69, 0.28[root@server254 ~]# batchat> echo 'hello'at> mailat> <EOT>job 9 at Mon Oct 30 12:18:00 2017[root@server254 ~]# mailNo mail for root[root@server254 ~]# uptime 12:21:58 up  2:44,  2 users,  load average: 0.07, 0.34, 0.22[root@server254 ~]# mailHeirloom Mail version 12.5 7/5/10.  Type ? for help."/var/spool/mail/root": 1 message 1 unread>U  1 root                  Mon Oct 30 12:20  16/528   "Output from your job "& 1Message  1:From root@server254.localdomain  Mon Oct 30 12:20:00 2017Return-Path: <root@server254.localdomain>......helloNo mail for root

关于at和batch命令的习题

1). root: 5min后,将/etc/group文件内容邮件发送给root用户;

[root@server254 ~]# at now+5minat> mail -s 'group' root</etc/groupat> <EOT>job 10 at Mon Oct 30 12:32:00 2017

2). 把你的任务内容显示出来,并保存到/bin/at.txt文件中;

[root@server254 ~]# at -l11  Mon Oct 30 12:37:00 2017 a root[[root@server254 ~]# at -c 11 #!/bin/sh# atrun uid=0 gid=0# mail root 0umask 22......[root@server254 ~]# at -c 11 >/bin/at.txt

3). 我们所在的机房23:00要停电,我想在22:59关机,并给root用户发送邮件通知;

[root@server254 ~]# at 22:59at> echo '即将关机’ at> mail rootat> init 0  at> <EOT>job 12 at Mon Oct 30 22:59:00 2017You have new mail in /var/spool/mail/root[root@server254 ~]# at -l12  Mon Oct 30 22:59:00 2017 a root

三、crontab

1.crontab文件(crond服务管理)

用户级周期性任务: crontab -e -u user系统级的周期性任务: /etc/crontab /etc/cron.d /etc/cron{monthly,weekly,daily,hourly}

2.crontab格式

分钟 小时 天 月 周 命令 */10 9-17 1,15 * * commands

3.几个特殊的符号

*: 每分, 每月, 每周

/n: 每隔n后

-: 1-2, 3-10, 从x到y;

,: 或者

4.crontab命令

crontab 命令 注释 crontab -e 编辑,保存到/var/spool/cron/ e -u user 编辑user -l 列出 -r 删除
[root@server254 ~]# crontab -e -u harrycrontab: installing new crontab[root@server254 ~]# su - harryLast login: Mon Oct 30 11:53:22 EDT 2017 on pts/0[harry@server254 ~]$ crontab -l10 10 1,15 Sep * mail -s 'passwd' root</etc/passwd[harry@server254 ~]$ crontab -r[harry@server254 ~]$ crontab -lno crontab for harry

5.crontab的黑白名单

/etc/cron.deny(系统默认存在)

/etc/cron.allow

注:只有/etc/cron.allow文件中的用户可以执行crontab; 如果/etc/cron.allow为空,只有root用户可以执行,crontab;cron.allow永远优先;

原创粉丝点击