アプリ版:「スタンプのみでお礼する」機能のリリースについて

linuxサーバーのキャッシュをクリアする為、
echo 3 > /proc/sys/vm/drop_caches
を実行したところ
-bash: /proc/sys/vm/drop_caches: Permission denied
のエラーメッセージで実行できませんでした。

sudo echo 3 > /proc/sys/vm/drop_caches
でも同様事象になります。

sudo su -
でrootユーザーになってからであれば実行できたことは確認できたのですが、

sudo su -
をでユーザー遷移せず1回のコマンドで完結する方法はございませんでしょうか。


このようにお伺いしている意図として、
別のサーバーからssh ユーザー名@ホスト名(IPアドレス) コマンド
にて1回で別サーバーから実行完了させたい為となります。

A 回答 (5件)

sudo echo 3 > /proc/sys/vm/drop_caches


だと、リダイレクトは今のシェルへの指示なので今のユーザーに書き込み権限が必要です。
rootでリダイレクトしたいなら、
sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
と、rootで実行するシェルでリダイレクトします。
    • good
    • 1

私はcronを用いて同じようなことを行っています。

ご参考までに連絡します。

●/var/spool/cron/crontabs/root ファイルの抜粋

29 01 * * * /expor..../ClearCache >> /tmp/ClearCache.log

●ClearCache スクリプトの抜粋

#!/bin/csh -f
sync; sync; sync; sync; sync; sync; echo 3 > /proc/sys/vm/drop_caches
/usr/sbin/swapoff -a
/usr/sbin/swapon -a
sync; sync; sync; sync; sync; sync; echo 3 > /proc/sys/vm/drop_caches

正しいかどうか確証はないのですが、最初にメモリキャッシュクリア、次にスワップをアンマウントすることで、内容がキャッシュに吐き出される。スワップをマウントした後、再びメモリキャッシュをクリア。
半年ほどこの状態で利用していますが、今の所不具合は生じていません。
    • good
    • 1

TeraTerm なんかのマクロでいけないかなぁ〜 と思います。


大抵の対話コマンドはイケたような…
    • good
    • 0

sudo echo 3 > hoge だと、echoをroot権限で実行するけど、ファイル書き込みは通常の権限ですね。

    • good
    • 0

権限がないって言われるなら、権限を持ったユーザーで実行するしかない。



仮に可能だったとしても、それはバグですのでいずれ修正されるため
未来永劫その手段を使えばよいという「解決策」ではありませんよね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!