免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: fly.sky
打印 上一主题 下一主题

[系统管理] 高手帮帮编写个脚本? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2012-12-02 13:41 |只看该作者
yjh777 发表于 2012-11-30 15:58
macos 环境测试通过


这个没看明白是怎么回事?

论坛徽章:
0
12 [报告]
发表于 2012-12-02 16:52 |只看该作者
bash用户 已经可以了,那csh的用户怎么能实现呢?各位高手还有其它办法吗?

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
13 [报告]
发表于 2012-12-02 19:30 |只看该作者
fly.sky 发表于 2012-12-02 13:41
这个没看明白是怎么回事?


用syslog把rm操作记录到系统日志文件里了;

你可以把syslog一句改为
echo "{RM} $(id -u -n) $(date +'%Y-%m-%d %H:%M:%S') -- rm ${@}"  >>urLogFile


自己试着写写,csh也差不多。

论坛徽章:
0
14 [报告]
发表于 2012-12-02 20:56 |只看该作者
yjh777 发表于 2012-12-02 19:30
用syslog把rm操作记录到系统日志文件里了;

你可以把syslog一句改为


您详细给我说一下,syslog是系统文件,还是你写的文件名。怎么生效。

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-16 06:20:00
15 [报告]
发表于 2012-12-02 21:53 |只看该作者
我有一个比较非主流的写法,原理就是在/bin目录下新建一个叫rm的脚本代替原来的rm.old,代码如下:
  1. [root@localhost ~]# cat /bin/rm
  2. #!/bin/bash

  3. echo user:`whoami`
  4. echo time:`date '+%D %T'`
  5. if(($#>0));then
  6. shift
  7. fi
  8. echo exec:"rm $*"
  9. `rm.old $*`
  10. echo user:`whoami` >> /var/log/rmsyslog
  11. echo time:`date '+%D %T'` >> /var/log/rmsyslog
  12. echo exec:"rm $*" >> /var/log/rmsyslog
复制代码
下面的是运行结果:
  1. [root@localhost ~]# ls /tmp/test
  2. file1  file2
复制代码
  1. [root@localhost ~]# rm -rf /tmp/test
  2. user:root
  3. time:12/02/12 21:50:02
  4. exec:rm -rf /tmp/test
复制代码
  1. [root@localhost ~]# ls /tmp/test
  2. ls: 无法访问/tmp/test: 没有那个文件或目录
复制代码
  1. [root@localhost ~]# cat /var/log/rmsyslog
  2. user:root
  3. time:12/02/12 21:50:02
  4. exec:rm -rf /tmp/test
复制代码

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
16 [报告]
发表于 2012-12-02 21:57 |只看该作者
fly.sky 发表于 2012-12-02 20:56
您详细给我说一下,syslog是系统文件,还是你写的文件名。怎么生效。


。。。

syslog是系统命令!!!
man  syslog

论坛徽章:
0
17 [报告]
发表于 2012-12-03 07:13 |只看该作者
回复 14# nathanielwen


   谢谢,现在普通用户有删除目录有问题,您再试试。删除文件没问题。

论坛徽章:
0
18 [报告]
发表于 2012-12-03 08:43 |只看该作者
回复 14# nathanielwen


    rm -rf sss
user:test
time:12/03/12 08:40:37
exec:rm sss
rm.old: cannot remove `sss': Is a directory

现在就是这个问题。root用户没问题。
可能是rm后的选项问题,用rm -i ;rm -rf 就出现问题了。再改改脚本估计就行了。谢谢。

论坛徽章:
0
19 [报告]
发表于 2012-12-03 10:08 |只看该作者
fly.sky 发表于 2012-12-01 20:33
回复 6# qinyudd


照着csh语法改。。这个我觉得你可以自己动手

论坛徽章:
0
20 [报告]
发表于 2012-12-03 21:19 |只看该作者
回复 19# nathanielwen


    谢谢高手,已经差不多了,就是我还想把他们写在一行。
user:nathaniel  time:12/03/12 14:18:01  exec:rm -fr /tmp/test
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP