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

khler 2011-01-30 10:07:03

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


代码:
#! /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中如何获取权限啊?上面的问题如何处理?



...全文
483 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
khler 2011-02-09
  • 打赏
  • 举报
回复
的确是权限的问题;
先结贴了,后面会有更多问题问大家,希望多多指教 :)
rushman 2011-02-05
  • 打赏
  • 举报
回复
[Quote=引用楼主 khler 的回复:]
我就是想备份一下我的一个程序的日志,结果在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 "" > $log……
[/Quote]问题应该是对新文件没有写权限。
为什么不把日志备份到主目录下?提高权限的方法尽量不要用。
zhangyisc 2011-02-01
  • 打赏
  • 举报
回复
应该是权限限制问题。可以逐步调试一下,将脚本设置一下用户环境变量,在执行脚本,就可以解决这个问题。前提条件。在相同的情况手动执行,可以正常完成。
goodmrning 2011-02-01
  • 打赏
  • 举报
回复
权限问题。
小小小小周 2011-02-01
  • 打赏
  • 举报
回复
sherwoodwang 2011-01-31
  • 打赏
  • 举报
回复
在linux下脚本自身不能拥有setuid或setgid权限,因为那样会导致安全问题。
但是你可以写一个可执行程序,那样就可以通过设置setuid权限来使程序执行时或的root权限了。
不过其实你更改/usr/local/twslog的权限设置,让你的用户可以改动它就可以了。

好吧,如果你一定要写脚本,也有一个不太好的方法:用python-setuid吧。
allentangtg 2011-01-30
  • 打赏
  • 举报
回复
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
  • 打赏
  • 举报
回复
chown chgrp, 你的hyh就是个普通用户把,可以改root,或把hyh添加到sudoer里
khler 2011-01-30
  • 打赏
  • 举报
回复
你是说脚本本身没有属主用户执行权限?

hyh@hyh-Ubuntu:~/TowerWatchServer$ ls -l
-rwxrwxrwx 1 hyh hyh 312 2011-01-30 10:33 twslogbaker.sh
freetstar 2011-01-30
  • 打赏
  • 举报
回复
脚本对应的属主用户没有权限,可以用有权限的用户或者root
coolkisses 2011-01-30
  • 打赏
  • 举报
回复
这和windows里权限一样,不先获取权限,做什么操作都不行。
这几个文件是的所有者是谁,找它给权限,然后执行你的shell。
khler 2011-01-30
  • 打赏
  • 举报
回复
shell脚本如何写呢?
rucypli 2011-01-30
  • 打赏
  • 举报
回复
用root权限创建这个脚本

23,124

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧