|
wanglp2000 回复于:2003-08-17 15:39:58
|
这些讨论我觉得很......(滑稽用的多些)
这可是系统管理员最简单的活了,难道这也叫难啊?
看来.........
|
itisok96 回复于:2003-08-17 16:42:09
|
强的说
|
yuwang007 回复于:2003-08-17 18:47:38
|
10 12 * * * find /tmp -size +1048576c -exec cp {} /save \;
我没用过那种 find + , man里没找到,可能没仔细看
|
rocazj 回复于:2003-08-18 08:55:05
|
1、find . -size +200c -exec cp {} 1 \;
将所有大于200字节的文件拷贝到子目录1下。
2、find . -size +26m -exec cp {} 1 \;
将所有大于26兆字节的文件拷贝到子目录1下。
3、find . -size +1k -exec cp {} 1 \;
将所有大于1K字节的文件拷贝到子目录1下。
|
houji 回复于:2003-08-18 11:03:12
|
rocazj 的方法很简单,好使。
|
xiongshoufen 回复于:2003-08-18 13:37:40
|
我连看读看不懂,好惨啊!!!
|
twlogin 回复于:2003-08-18 13:49:51
|
做一个系统管理员不懂shell是无法想象的
|
welbird 回复于:2003-08-18 14:12:24
|
又学了一招,嘿嘿
|
6liuy 回复于:2003-08-18 16:23:47
|
不错,使用find命令
|
okwiner 回复于:2003-08-18 16:25:42
|
shell和编程是一回事么?用什么控制命令执行的逻辑?
|
llc107 回复于:2003-08-18 16:38:26
|
[quote:505116de8a="aerolite"]没有这么复杂吧,这样做就可以了
crontab -e
10 12 * * * find /tmp -size +1048576c -exec cp $ /save \;[/quote:505116de8a]
nice done!
|
JuGar 回复于:2003-08-18 23:41:21
|
find很好用的呀~~
|
寒带鱼 回复于:2003-08-20 22:20:56
|
xarg也可以撒
|
snaking 回复于:2003-08-24 13:19:27
|
收到
|
blazewater 回复于:2003-08-24 15:07:14
|
shell实际上是功能很强大的武器
不同的功能都可以实现同一个功能
所谓条条大陆通罗马嘛
不要在这上面浪费口水了
还是多看看书吧
|
浦东本地人 回复于:2003-08-24 23:15:27
|
没有想到那么菜!!!!
上次我应聘时还要现场写个POSTSCRIPT的脚本呢,足有84行长.还必须用PERL和KSH写两个版本.
|
wanfei 回复于:2003-08-25 12:28:56
|
这个帖子不错。应表扬
|
akai_feng 回复于:2003-08-25 13:38:46
|
说句老实话,好像这已经是熟练SA的最低要求了,不然,也不会出现在面试题中
good good study
day day up
|
ustcboy 回复于:2003-08-26 15:38:48
|
http://ustcboy.51.net/download/sa239.rar
http://ustcboy.51.net/download/sa299.rar
sa299不是教材/好像是做的幻灯片
希望对大家学习有帮助
|
tiaozao 回复于:2003-08-27 00:33:46
|
[quote:5a49ba9be2="rocazj"]1、find . -size +200c -exec cp {} 1 \;
将所有大于200字节的文件拷贝到子目录1下。
2、find . -size +26m -exec cp {} 1 \;
将所有大于26兆字节的文件拷贝到子目录1下。
3、find . -size +1k -exec cp {} ..........[/quote:5a49ba9be2]
有人试过这个方法么?
我试了,不可以
|
老同志lawson 回复于:2003-12-01 17:48:00
|
脚本如下:
#!/usr/bin/bash
cd /tmp
for file in `ls`
do
if [ -f $file ]
then
file2=`ls -al $file|awk '{print $5}'`
long=`expr 1024 \* 1024`
if [ "$file2" -gt "$long" ]
then
cp $file /save/
fi
else
continue
fi
done
cd ..
|
xyf721127 回复于:2005-02-14 00:15:58
|
看不懂啊,真是很着急!
|
Linux@初学者 回复于:2005-02-14 13:45:13
|
汗一下。
|
jndu 回复于:2005-02-14 14:15:15
|
1M=1048576c ?
怎么得出来的?
不应该是1024*1024*1024=1073741824 么?
|
bosshoss_cn 回复于:2005-02-14 16:22:56
|
我也问一下:
要求在/save目录下自动生成以日期为名字的子目录再COPY行否?
如何实现?
格式:YYYY-MM-DD
|
骁骑尉 回复于:2005-02-15 09:11:59
|
[quote:67bb23a78f="tiaozao"]
有人试过这个方法么?
我试了,不可以[/quote:67bb23a78f]
find . xxxx
这个表示find的操作是从当前目录开始执行的。前面的题目要求是对/tmp目录下的文件进行操作,所以要使用 find /tmp xxxx
|
samshi 回复于:2005-02-16 13:52:15
|
crontab -e
10 12 * * * find /tmp -size +1048576c -exec cp {} /save \;
|
maping 回复于:2005-02-16 17:46:03
|
上面说的我也好多看不懂,翻书找到下面内容,和大家共享!
Crontab 安排某个命令有规律地在特定的时间执行
语法:crontab filename
crontab options [user_name]
概述
crontab 命令允许用户提交一个工作列表,这些工作是在用户指定的时间运行。这些命令保存被称为crontab 的文件中。名为cron的系统命令读取crontab文件,并运行这些命令。如果在用户的crontab文件的命令行中没有进行输出重定向,那么才采用标准和错误输出。
参数
在第一种语法格式中,filename是包含crontab命令的一个文件名。如果用户使用一个连字号作为文件名,crontab将从用户键入的标准输入中读取数据;以CONTROL-D结束。
第二种语法格式中的user-name 能够由超级用户来指定,从而能为一个特别的用户改变crontab文件。
选项
-e edit.在用户的crontab文件上运行由EDITOR这个shell变量指定的文本编辑器,使得用户可以进行添加,改变或者删除文件的全部。在创建/编辑crontab之后,这个选项将安装它。
-l list 显示用户的crontab文件的内容
-r remove 删除用户的crontab文件。
注意
每条crontab命令以5个空格风隔字段开始,指定了命令应该什么时候运行:
l 分钟(0-59)
l 小时(0-23)
l 某月的一天(1-31)
l 某年的一月(1-12)
l 某星期的一天(0-6,0=Sunday)
星号代表所有可能的植。
示例
在下面的示例中,root用户设定了一个由cron在没个周六的早上2:05开始执行的命令,这些命令将新五天中系统中没有被访问到的core文件全部删除。ROOT用户从控制台直接输入命令。
# crontab
5 2 * * 6 /usr/bin/find / -name core –atime +5 –exec rm {} \;
CONTROL-D
紊乱在用户的crontab 文件中增加一个条目,运行带有-e选项的crontab命令。-l选项显示了用户crontab 文件的一个副本。
# crontab –l
5 2 * * 6 /usr/bin/find / -name core –atime +5 –exec rm {} \;
|
victor_hu 回复于:2005-02-17 14:42:12
|
crontab -e
0 12 * * * find /tmp -size +1048576c -exec cp -r {} /save \;
|
victor_hu 回复于:2005-02-17 14:57:20
|
试试下面的:
crontab -e
0 12 * * * find /tmp -size +1048576c -exec cp {} /save \;
|
freedemon 回复于:2005-02-17 15:36:23
|
[quote:f233a80069="aerolite"]没有这么复杂吧,这样做就可以了
crontab -e
10 12 * * * find /tmp -size +1048576c -exec cp $ /save \;[/quote:f233a80069]
不错
思路正确
再严谨一点的话可以加上-type f,限定常规文件,避免一些可能发生的权限错误
find [PATH] -type f -size +******c -exec "......."\;
只要用find查找出对应目录中常规file类型,大小大于(+)1024k的文件,使用find的exec参数调用命令就可以了。
几个需要注意的细节:
1. -type f限定文件类型;
2. -size参数默认数值单位为block(长度512B的Block),如果要用字节作为单位,需要在最后加c,比如1024c,就代表1024Byte;+/-表示大于或小于,否则就代表精确相等;
3. 使用exec进行文件备份命令的执行;
4. 使用crontab定时调用find一条命令就可以了,根本不必写脚本。
.
|
sun_boy 回复于:2005-02-17 15:55:02
|
发现自己很多东西学的还是不够熟练!呵呵!
|
xxxxl 回复于:2005-02-18 10:11:13
|
在solaris下是这样:
crontab -e
10 12 * * * find /tmp -type f -size +1048576c -exec cp {} /save \;
|
fywlily 回复于:2005-02-28 13:13:11
|
知道个意思,具体的写估计一遍要写错
|
sbleo 回复于:2005-02-28 14:11:24
|
现场那么紧张估计写个大概,面试官也不会太为难的,不过如果不知道怎么下手就要自我检讨一下了。
|
Crazy土匪 回复于:2005-03-29 21:08:39
|
能看懂,写不出来。呵呵
|
nhzjoke 回复于:2005-03-29 23:31:51
|
[quote:eff51c2489="aerolite"]没有这么复杂吧,这样做就可以了
crontab -e
10 12 * * * find /tmp -size +1048576c -exec cp $ /save \;[/quote:eff51c2489]
楼上的是正解!
|