linux - 磁盘清理脚本错误

标签 linux

我是脚本编写和学习的新手,我编写了一个如下所示的脚本来清除路径/usr/apache/logs 下的所有日志

#!/bin/bash
path="/usr/apache/logs/"
for i in $(find $path . -name "*log*");do 
cat /dev/null > $i;
done

运行上面的脚本后,我得到以下输出错误

/usr/apache/logs/
find: `./lost+found': Permission denied
find: `./root': Permission denied
l_clear.sh: line 4: /usr/apache/logs/: Is a directory
l_clear.sh: line 4: ./Backup/Clients/work_catalog: Is a directory

请帮助我为什么我得到“find: `./lost+found': 权限被拒绝”,即使我指定了日志路径。

最佳答案

更改为 root 用户并 使用 root 权限执行脚本。

如果使用 debian:
$ sudo su # bash your_script.sh

如果您使用 Fedora:
$ su - # bash your_script.sh

关于linux - 磁盘清理脚本错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51112517/

相关文章:

python - 从 linux 在 windows 中远程执行脚本(批处理/powershell)

linux - 当我运行 make install 以使用 doxygen 进行设置时出现权限被拒绝错误

android - 如何在 linux box 上授权 android 模拟器?

Python/Linux - 以非 root 用户身份手动安装 httplib2

c++ - 为什么 LD_LIBRARY_PATH 无效?

c++ - 将 C++ 结构传递给需要 C 结构的库

linux - AWS云: SSH of an AMI instance issue in Prod

php - wkhtmltoimage centos 6错误

linux - Bash 程序在 if 语句后挂起

linux - 在 Mac 上创建 RPM