如何编写一个shell,拷贝一个备份文件后把原文件清空?

 
我就是想备份一下我的一个程序的日志,结果在shell中执行 cp 命令时提示没有权限:


代码:
Python code
#! /bin/sh
currdate=$( date +%Y%m%d )
logfile="/usr/local/twslog/tws.log"
cp $logfile "/usr/local/twslog/$currdate.log"
cat "" > $logfile



运行时提示:
cp: 无法打开 “/usr/local/twslog/tws.log” 读取数据: Permission denied
./twslogbaker.sh: 5: cannot create /usr/local/twslog/tws.log: Permission denied

各位老大,在shell中如何获取权限啊?上面的问题如何处理?

 
 

作者: khler   发布时间: 2011-01-30

用root权限创建这个脚本

作者: rucypli   发布时间: 2011-01-30

shell脚本如何写呢?

作者: khler   发布时间: 2011-01-30

这和windows里权限一样,不先获取权限,做什么操作都不行。
这几个文件是的所有者是谁,找它给权限,然后执行你的shell。

作者: coolkisses   发布时间: 2011-01-30

脚本对应的属主用户没有权限,可以用有权限的用户或者root

作者: lgxwqq111   发布时间: 2011-01-30

该回复于2011-01-30 11:05:52被管理员删除

  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
  • khler
  • (三人行,岂无师焉)
  • 等 级:
#6楼 得分:0回复于:2011-01-30 10:54:09
你是说脚本本身没有属主用户执行权限?

hyh@hyh-Ubuntu:~/TowerWatchServer$ ls -l
-rwxrwxrwx 1 hyh hyh 312 2011-01-30 10:33 twslogbaker.sh

作者: weerweer   发布时间: 2011-01-30

chown chgrp, 你的hyh就是个普通用户把,可以改root,或把hyh添加到sudoer里

作者: khler   发布时间: 2011-01-30

太强了 :)
我用命令 sudo -s -H 切换到了root下,执行twslogbaker.sh脚本成功了,可问题是我hyh是普通用户,我必须切换到root或者把hyh添加到sudoer里面才能执行twslogbaker.sh吗?没有别的办法?比如修改twslogbaker.sh文件权限,在twslogbaker.sh脚本里面获取cp、cat操作权限等等?

作者: weerweer   发布时间: 2011-01-30

E://Bu__20101202.jpg

作者: khler   发布时间: 2011-01-30