一、yum命令的练习
1、开机挂载的两种方法
(1)vim /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local ##给该文件添加执行权限
(2)在fstab文件中添加
先将文件挂载,然后用mount查看挂载信息
只需要注意挂载类型,编辑
vim /etc/fstab
第一列为需要挂载的文件或设备;
第二列为挂载点
第三列为文件的类型
第四列为挂载选项,defaults默认就可以了,详细参考man mount.命令;
第五列为设置是否让备份程序dump备份。0:不备份,1:备份,2:备份(但比1重要性小)。设置了该参数后,Linux中使用dump命令备份系统的时候就可以备份该挂载点。
第六列为是否检验挂载文件,0:不检验,1:要检验,2要检验(但比1晚),一般根目录设置为1,swap分区不需要检验设为0。
2、yum命令练习
首先搭好yum源,然后清除yum缓存,列出yum源列表来检测yum源是否搭建成功。
1). 搜寻与raid相关的软件有哪些?
yum search raid
2). 找出vsftpd这个软件的功能是什么?
yum info vsftpd
3). 列出yum中提供的所有软件包名称.
yum list all
4). 列出提供passwd文件的软件有哪些?
yum provides */passwd
##加上目录,搜索出来的将会是与各个目录下passwd对应的软件包
5). 利用yum的功能,找出以pam开头的软件包有哪些?
yum list all | grep ^pam ##list可以看到软件包的版本和出自哪个源
yum search pam | ^pam ##search可以看到软件包的简单介绍
6). 找出跟java相关的软件包,并安装1.7的版本.
yum search java | grep 1.7 ##search只需要名称中包含输入的信息就可以
##list 查询软件时输入的名称必须完整,但是可以通过 yum list <available | installed> 来查询 <可以安装的 | 已经安装的>。
二、定时任务
linux系统中的定时任务最多精确到分钟
1、at命令
##保存at 定时任务的目录 /var/spool/at/
##只执行一次的定时任务,若执行的任务有输出,将会以邮件的方式发送到创建任务的用户的邮箱。
-m ##如果定时任务无输出,以邮件方式通知
-M ##即使有输出,也不发送邮件给执行者
at 具体时间 ##在某个时刻执行
##输入完定时任务的内容后,按ctrl+d,完成设定<EOF>,并会显示任务执行的时间
-v ##以易读懂的时间格式指定定时任务;
##at -v now+1day,或者直接at now+1day,两者似乎没什么区别,都是从开始输入任务内容时开始计时
##-v 只是会在输入内容前显示任务执行的时间
-l 或者 atq ##列出定时任务
-c ##定时任务具体的内容,需要通过at -l 或者atq 查询任务编号
at 的时间格式:(只精确到分钟)
HH:MM
HH:MM YYYY-MM-DD
HH:MM [am | pm]
HH:MM+5min
now+5[day | hour | min | month | week]
也可指定 today 或 tomorrow 来表示今天或明天
at 2pm tomorrow ##明天下午两点
at 的权限设定
/etc/at.allow
/etc/at.deny
##系统默认只存在黑名单,白名单优先级高于黑名单
##当白名单存在时,会只允许白名单上的用户创建任务,而无视黑名单
##当白名单不存在时,系统只会禁止黑名单上的用户创建任务
##当黑白名单都不存在时,或者白名单为空时,只有root用户可以使用 at 创建任务
2、banch命令
##同样是std服务下的一个命令。
##当系统负载低于0.8%时执行任务,意思就是让系统在空闲时间执行任务。
uptime ##查看系统负载
##1当前时间 19:23:00
##2系统已运行的时间 3:15
##3当前在线用户 2 users
##4平均负载:0.09, 0.05, 0.07,最近1分钟、5分钟、15分钟系统的负载
测试时,可以使用dd命令拷贝文件来增加负载,负载增加之后创建batch任务,然后uptime实时关注系统负载,观察当系统负载降至0.8时,是否会执行batch任务
dd if=/dev/zero of=file bs=10M count=1000
##用dd命令将从zero设备中创建一个10G大小(bs决定每次读写10M,count定义读写次数为1000次),但内容全为0的文件。
if=/dev/zero ##输入文件名,缺省为标准输入。
##/dev/zero文件代表一个永远输出 0的设备文件,使用它作输入可以得到全为空的文件。因此可用来创建新文件和以覆盖的方式清除旧文件。
of=file ##输出文件名,缺省为标准输出。
3、crond服务
定时任务服务,系统每分钟都会扫描任务
(1)用户周期性任务
用户周期性任务的文件存放在/var/spool/cron/目录下,以用户的方式分组保存
创建任务的方法可以1、通过crontab命令,2、直接在/var/spool/cron/目录下的用户文件中编辑
crontab -e ##编辑,保存到/var/spool/cron/;
crontab -u user -e ##编辑user的任务
crontab -l ##列出任务
crontab -r ##删除任务
注意:如果不指定用户,则默认对当前用户的任务进行操作,-u 仅root用户可执行。
分钟 小时 天 月 周 命 令
*/10 9-17 1,15 * * commands
##以上内容表示每月的1号和15号,9到17时之间,每隔十分钟执行一次
##周参数和 天参数 互不干扰,当两个同时存在数字时,表示某月某天执行,并且某月每周几执行
##例如 0 0 1 jan 0 表示一月一日凌晨,和一月每周日凌晨都执行任务
符号:
* ##表示每分,每月,每周
/n ## 表示每隔n时间后
- ##1-2, 3-10, 从x到y;
,##或者
系统周期性任务的文件保存在以下目录中
/etc/crontab
/etc/cron.d/
/etc/cron.{monthly,weekly,daily,hourly}
##系统任务通常保存在/etc/crontab中,
##但是为了防止更新系统软件包cronie时出现问题,更好的做法是在/etc/cron.d/目录中创建crontab文件来保存系统任务,
##并可以在日期后再加一段数据表示执行该任务的用户
##对于每天、每月、每周、或者每小时执行一次的任务,可以直接设置成可执行文件,保存在第三个目录中
cron的权限设定
/etc/cron.deny
/etc/cron.allow
##规则和 at 的权限设定相同。
4、mail命令
邮件文件存放位置 /var/spool/mail/目录下,以用户的方式分组保存
(1)mail -s 邮件名 收件人 ##把当前shell当成编辑器来用,编辑完内容后Ctrl+D结束
(2)mail -s 邮件名 收件人 < file ##以file的内容为邮件内容发信
(3)echo “mail content” | mail -s 邮件名 收件人 ##通过管道写入邮件
三、管理系统的临时文件
系统中的服务在正常运行时会产生临时文件
/usr/lib/tmpfiles.d/*.conf ##系统中临时文件的配置
vim /usr/lib/tmpfiles.d/tmp.conf
文件类型 文件名称 文件权限 文件所有人 文件所有组 文件存在时间
d /tmp 1777 root root 10d
systemd-tmpfiles 命令 ##创建、删除和管理临时文件的服务的命令
systemd-tmpfiles --create /usr/lib/tmpfiles.d/tmp.conf ##创建tmp临时文件
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/tmp.conf##清理tmp临时文件