我有一个名为clearcache.sh的脚本来清除我的缓冲区/缓存,但是当我运行它时,它一直说 Permission denied。
脚本中的内容:clearcache.sh
#!/bin/bash
sync && echo 1 | tee /proc/sys/vm/drop_caches
权利:
-rwxr-xr-x 1 rt rt 464 Dec 5 02:10 clearcache.sh
我如何运行它来测试它:
rt@sys76:~/clearcache$ ./clearcache.sh
tee: /proc/sys/vm/drop_caches: Permission denied
1
我想把它放在一个 chron 工作中,但我需要解决这个权限问题:
更新: 这是drop_caches文件,它的权利归 root 所有,使用脚本从 chron 作业运行它的正确方法是什么?PS:我正在运行 Ubuntu 20.04
根和烫发
我猜你用root(?)运行你的脚本
无论如何,你不应该修改文件的访问权限
无需开球
你不需要
tee
,你最好用sysctl
pagecache、dentries 和 inode
那么为什么不使用
vm.drop_caches=3
cron 计划
因为你想用 cron 来安排它,你可以为 root 用户设计你的脚本,然后通过在 root 的 crontab 中插入一个作业来安排它
剧本
将脚本文件放在 root 用户可用的目录中。对于
/root
文件夹中的 ex,即/root/clearcache.sh
然后添加一个root cronjob
在这里,脚本会每隔几小时,0分钟,每天运行一次
最后
不需要脚本,只需将这两个命令作为作业添加到root的crontab中