linux - 使用 ssh 清除远程服务器中的缓存

标签 linux shell ssh sudo clear-cache

我一直在尝试清除远程服务器中的缓存,但我得到了这些命令。

首先以root用户登录并执行

sync; echo 3 > /proc/sys/vm/drop_caches

但我必须在脚本中自动执行此操作,所以我使用了这个

ssh user@ipaddress "sudo su; sync; echo 3 >/proc/sys/vm/drop_caches";

但是我无法通过 sudo su 获得 root 用户权限,我想删除 sudo su 而是使用

ssh user@ipaddress "sudo sync;sudo echo 3 > /proc/sys/vm/drop_caches";

但这表示它没有足够的权限。

我错过了什么??

最佳答案

当你执行此操作时 sudo echo 3 > .... 只有 echo 将具有“sudo”用户权限,重定向是针对当前用户的。

尝试这样的事情:

    ssh user@ipaddress "sudo sh -c \"sync; echo 3 > /proc/sys/vm/drop_caches\"";

关于linux - 使用 ssh 清除远程服务器中的缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19094345/

相关文章:

C - 在不同的过程中使用不同的管端

linux - 找到 : paths must precede expression

bash - 使用bash获取.gz文件中目录(包括子目录)中所有出现的字符串?

linux - 连接 SSH 并与另一个用户执行脚本

ssh中PermitUserEnvironment的安全风险

ssh - 是否可以在不附加到 screen session 的情况下查看 screen session 的内容?

PHP:mysql_connect() 返回 true 但 mysql_select_db() 返回 false _ 在 Ubuntu 更新后

linux - 将node.js + expressjs应用程序的NODE_ENV设置为ubuntu下的守护进程

CPU缓存抑制

windows - [ : too many arguments on Cygwin Shell script