一个简单的LINUX题

某系统管理员需每天做一定的重复工作,请按照下列要求,编制一个解决方案:
(1)在下午4 :50删除/abc目录下的全部子目录和全部文件;
(2)从早8:00~下午6:00每小时读取/xyz目录下x1文件中每行第一个域的全部数据加入到/backup目录下的bak01.txt文件内;
(3)每逢星期一下午5:50将/data目录下的所有目录和文件归档并压缩为文件:backup.tar.gz;
(4)在下午5:55将IDE接口的CD-ROM卸载(假设:CD-ROM的设备名为hdc);
(5)在早晨8:00前开机后启动。

这道作业题用到的知识量还真不少,出这个题的老师还是不错的。废话不多,直接解题。
一、通过crontab,实现4个作业计划。
[root@localhost]# crontab -e
50 16 * * * /var/work/delete.sh /*下午4 :50执行删除作业的脚本 */
0 8-18/1 * * * /var/work/read.sh /*从早8:00~下午6:00的作业的脚本 */
50 17 * * 1 /var/work/backtar.sh /*每逢星期一下午5:50的作业的脚本 */
55 17 * * * /var/work/umoutcdrome.sh /*下午5:55CD-ROM卸载的作业的脚本 */
二、实现各个脚本的功能
[root@localhost]# vi /var/work/delete.sh
#!/bin/bash
delete /abc/*

[root@localhost]# vi /var/work/read.sh
#!/bin/bash
awk '{print $1}' /xyz/x1 >> /backup/bak01.txt

[root@localhost]# vi /var/work/backtar.sh
#!/bin/bash
tar -czvf backup.tar.gz /data/

[root@localhost]# vi /var/work/umoutcdrome.sh
#!/bin/bash
umount /hdc

通过以上方法后 在早晨8:00前开机后启动这项 可免了,这里的启动应该是启动这道题里的所有任务,上面已经分解处理。
希望对你学习有帮助追问

我真心感觉你是学编程的 怎么模块话思想真么深呢 但还是跟你学到东西了 作业是一定放在/VAR/WORK/下么,以SH结尾?

追答

linux下shell 脚本不拘泥任何文件结尾,随便你取。
/VAR/WORK/ 只是个例子工作目录 实际看你自己的工作目录,哪里都可以。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-24
crontab -e 定制定时任务就好了
删除文件 rm
读取第一个域?(列?) 可以awk 关键信息 然后重定向 >>
压缩文件 tar -czf 或者直接找到文件 gzip
盘符加载卸载 mount / umount
8点后启动啥?追问

对啊 就是不知道8点启动啥。。。

追答

估计学生的作业题 上面那哥们 已经给出标准答案了 不过对“delete” 这个命令存疑……

第2个回答  2012-04-24
你连命令都不熟悉
1:rm -rf /abc/*
2: cut -d " " -f 1 /xyz/x1 >> bak01.txt
3: tar cfz backup.tar.gz /data/*
4:umount /dev/hdc
5:这个要主板的BIOS支持定时开机
第3个回答  2012-04-24
简单个屁啊!
这么简单怎么不自己做追问

亲 其实 基本我会做 就是不会做第五问 为了共同提高 我把前四问告诉你好了
(1) 50 16 * * * rm -r /abc
(2) * 8-18/1 * * * cat /xyz/x1 >>/backup/bak01.txt
* 8-18/1 * * * cut –f1 /xyz/x1 >>/backup/bak01.txt
(3) 50 17 * * 1 tar -czvf backup.tar.gz /data
(4) 55 17 * * * umount hdc
(5) 这问 我都不知道他啥意思

追答

你这算屁个答案啊;
最佳答案里面是用了一个crontab 设置周期任务 的工具
你这四行数字,不说清楚用了工具,谁知道是啥意思啊

原来的题目 我猜是让你直接写shell脚本完成,不用工具的吧
最后一问,意思就是把你写的脚本添加到 启动项 rc 或者profile 呗

相似回答