290 likes | 480 Views
Linux 操作系统. 第七讲 任务调度和备份管理. 第七讲 任务调度和备份管理. 复习 RPM 可用于软件包的安装、查询、更新升级、校验、删除已安装的软件包,以及生成 .rpm 格式的软件包等。 RPM 功能是通过 rpm 命令结合使用不同的命令参数来实现的。. # rpm –qa # rpm –q bind # rpm –qa|grep bind # rpm –i [ 安装选项 ] RPM 软件包名 # rpm -e proftpd # rpm –Uvh rhviewer-3.10a-13.i386.rpm # rpm –Va.
E N D
第七讲 任务调度和备份管理 • 复习 • RPM可用于软件包的安装、查询、更新升级、校验、删除已安装的软件包,以及生成.rpm格式的软件包等。RPM功能是通过rpm命令结合使用不同的命令参数来实现的。 • # rpm –qa • # rpm –q bind • # rpm –qa|grep bind • # rpm –i [安装选项] RPM软件包名 • # rpm -e proftpd • # rpm –Uvh rhviewer-3.10a-13.i386.rpm • # rpm –Va
第七讲 任务调度和备份管理 • 复习 • tar命令最初是为制作磁带备份而设计的,由tar命令制成的源代码包可被绝大多数系统读取。软件开发者通常也以源代码的形式发布软件。 • #tar cvf 文件名.tar 被压缩的目录或文件名 • #tar cvfz k2.tar.gz /home/ds1/k1/a* • # tar tvf k1.tar • # tar rvf k1.tar /home/ds1/k1/a1 • # tar xvf k2.tar • #tar --delete -vf k1.tar aa
第七讲 任务调度和备份管理 • 复习 • Date 查看系统时间:#date 修改系统时间:#date -s '05/10/05 08:10’ 或 #date 061108302006
第七讲 任务调度和备份管理 • CRON • cron是一个调度进程的程序,这些被调度的进程按一个特定的规则方式运行。 • cron的常见用途是: • 记录系统状态日志 • 启动备份 • 轮换日志文件 • 开始运行系统清理脚本
第七讲 任务调度和备份管理 • CRON • CRON系统有一个监控进程(crond)和用户的配置文件构成,每一个配置文件叫cron表,简称crontab。 • crontab文件里的一个条目叫做一个事件或一个工作。 • 每过一分钟,crond就读一遍所有的crontab文件,看有什么命令和事件需要运行。
第七讲 任务调度和备份管理 • CRON • Cron 维护着一个缓冲池(spool)目录来存放 crontab文件。 • 通常这个目录是 /var/spool/cron • 还有 一个系统 crontab 文件在 /etc/crontab • Cron可以被配置为允许或拒绝特定用户的调度事件的能力。用于指定谁可以使用cron文件,他们是/etc/cron.allow和/etc/cron.deny。 • 一般地,cron工作的输出以邮件的形式发给用户,或通过重定向命令输出到一个文件。
第七讲 任务调度和备份管理 • CRON • crontab文件告诉cron监控进程,用户要运行什么程序和用户要什么时候启动它们,每个用户有一个crontab文件 • 管理crontab文件的程序也叫crontab • crontab文件有两种类型的条目:环境变量的定义和事件 • 事件包括两部分:时间、动作 • crontab文件存放在/var/spool/cron
第七讲 任务调度和备份管理 • CRON • crontab文件包括六个字段 min hour day month weekday command • crontab文件 • # This is an example crontab file. • MAILTO = root • 0 * * * * echo “Runs at the top of every hour.” • 0 1,2 * * * echo “Runs at 1AM and 2AM.” • 13 2 1 * * echo “Runs at 2:13AM on the 1st of the month.” • 9 17 * * 1-5 echo “Runs at 5:09PM every weekday.” • 0 0 1 1 * echo “Happy New Year!” • 0 6 */2 * * echo “Runs at 6AM on even-numbered days.”
第七讲 任务调度和备份管理 • CRON • crontab文件存放在/var/spool/cron • 在 /var/spool/cron 目录 ,我们用 vi 命令来建立一个crondtab文件(通常我们用用户名), 我们也可使用命令 crontab –e来编辑这个文件。 • crontab文件的编辑:# crontab –e • 显示用户当前的crontab:# crontab -l • 删除用户当前的crontab:# crontab -r • Crontab从指定文件中读取:# crontab –u ww mycrontab
第七讲 任务调度和备份管理 • CRON • 例子: • # This is an example crontab file. • MAILTO = root • 0 * * * * echo “Runs at the top of every hour.” • 0 1,2 * * * echo “Runs at 1AM and 2AM.”
第七讲 任务调度和备份管理 • CRON • 思考: 1.指定每天的4点20分执行… 20 4 * * * … 2.指定每月9日的3点50分执行… 50 3 9 * * … 3.指定每年的9月8日0点1分执行… 1 0 8 9 * … 或 1 0 8 sep * … 4.指定每星期日的4点9分执行… 9 4 * * 0 … 或 9 4 * * sun … 5.指定在每月的1日及15日的2点20分执行… 20 2 1,15 * * …
第七讲 任务调度和备份管理 • AT和BATCH • At命令是用来在一个特定的时间运行一个命令或脚本的。 • Batch命令是指当负载平均数降到低于某一水平(默认为0.8)时给定的命令才运行。 • 通过at和batch命令提交的工作由atd监控进程掌管。 Atd的缓冲池目录通常是 在/var/spool/at下 • at系统有/etc/at.allow和/etc/at.deny文件来控制谁能使用它。
第七讲 任务调度和备份管理 • AT和BATCH • $batch • at>echo “The load average is below 0.8” • at> ^d • $at 1pm • at>echo “It’s 1 PM” • at> ^d $ at 2pm -f /home/ww/pm.sh • 查询:$at –l 或 $atq • 删除队列中工作:atrm <job>
第七讲 任务调度和备份管理 • AT和BATCH • 常见时间格式: 1. at hh:mm month day year 2. at now+count time-units time-units:minutes,hours,days,weeks 例:at now+2minutes mail -s "I love you!" root 3. at hour:minute today(or tomorrow)
第七讲 任务调度和备份管理 • AT和BATCH • 思考: 1. at now +1 hour 2. at 4:30pm +2 days 3. at 1:30 tomorrow 4. at 1am 5. at 1am 12/23/2006 6. at 9:35 Dec 23 7. at 2 Friday //1小时后执行 //2天后4:30pm执行 //明天1:30执行 //下一个早晨1时执行 //2006年12月23日1:00执行 //12月23日执行 //星期五2点执行
第七讲 任务调度和备份管理 • 备份和恢复 • 何时备份 • 在何处储存备份 • 备份什么
第七讲 任务调度和备份管理 • 备份介质 • 磁带 • 光碟 • 可移动磁盘 • Linux备份术语
第七讲 任务调度和备份管理 • 文件压缩命令 • #compress a.txt • #uncompress a.txt.Z • #zip myfile *.txt • #unzip myfile.zip • #gzip filename • #gunzip filename.gz
第七讲 任务调度和备份管理 • 备份工具 • 面向文件的工具 cpio Copy to I/O tar Tape archive and restore • 设备级工具 dd Direct-device access
第七讲 任务调度和备份管理 • 备份工具-tar • Tar命令常用的参数有: -c:创建新的档案文件。 -x:从档案文件中释放文件 -v:详细报告tar处理的文件信息 -f:使用档案文件或设备,这个选项通常是必选的 -t:列出档案文件的内容,查看已经备份了哪些文件 -z:用gzip来压缩/解压缩文件 -r:把要存档的文件追加到档案文件的未尾 -u:增量(更新)备份
第七讲 任务调度和备份管理 • 备份工具- tar • Tar命令常用的参数有: -m :在还原文件时,把所有文件的修改时间设定为现在 -M:创建多卷的档案文件,以便在几个磁盘中存放 -K:保存已经存在的文件 -p:保留文件的权限和所有者 -C:解压缩到指定目录 --exclude file:不将文件file归档
第七讲 任务调度和备份管理 • 备份工具-tar • #tar cvf data.tar * #tar cvzf data.tar.gz * #tar tvf data.tar #tar xvf data.tar #tar zxvf data.tar * #tar –delete -vf data.tar ww.txt #tar -rvf data.tar ww.txt #tar –zcvpf /archive/full-backup.tar.gz / --exclude=/proc --exclude=/mnt --exclude=/archive
第七讲 任务调度和备份管理 • 备份工具-cpio • #cpio命令常用的参数有: -v:详细模式,列出正在处理的文件,以ls –l格式给出 -B:使用大块5120byte,缺省为512byte -Cn:使用n字节的块 -c:使用ASCII头(总是使用这个选项) • #cpio用下列方式指定I/O设备 -O file:当归档时用于更好地处理多卷介质 -I file:当恢复时用于更好地处理多卷介质 • #cpio的输入(恢复)选项如下: -t:仅列出文件的内容而不进行恢复文件 -d:如果需要的话创建目录 -u:无条件地恢复文件,替换已存在的文件 -m:保留文件更改次数\时间
第七讲 任务调度和备份管理 • 备份工具-cpio • 例子: 1. #find . –print |cpio –ovcB>/dev/ftape 2. #cpio –itvcB</dev/ftape 3. #cd /tmp #cpio –ivcdumB</dev/ftape 4. #cd / #find /etc /home /var –print |cpio –ovcB –O /dev/ftape 5. #cd /tmp #cpio –ivcdmB –I /dev/ftape
第七讲 任务调度和备份管理 • 备份工具-dd • dd用于直接地访问设备它通常用于拷贝大片的数据。 of=file 写到所命名的文件而不是到标准输出 if=file 从所命名文件读取而不是从标准输入 bs=size 指定块大小(既是是ibs也是obs) ibs=size 一次读size个byte obs=size 一次写size个byte skip=blocks 从开头忽略blocks个ibs大小的块 seek=blocks 从开头忽略blocks个obs大小的块 count=n 只拷贝n个记录 conv=ascii/ebcdic/ibm/swab
第七讲 任务调度和备份管理 • 备份工具-dd • 例子: #dd if=/dev/ftape of=/tmp/ibm.tap bs=4095 conv=ibm,swap • 例子: #dd if=/dev/cdrom of=/tmp/cd.iso #cdrecord –v dev=0,0,0 –isosize /tmp/cd.iso • 例子: #dd if=/dev/fd0 count=1 of=test1 #file test1
第七讲 任务调度和备份管理 • 练习 • 补充习题8