
Ubuntuではgriveを使用してフォルダをGoogle Driveと同期していますが、grive同期に帯域幅制限を設定したいと思います。
このコマンドを使用して、50KBのレート制限で同期します。
grive -p /home/purval -U 50 -D 50
しかし、うまくいきません。エラーメッセージも表示されません。私のgrive
バージョンはグレーブバージョン0.5.1-dev
答え1
デフォルトでは、griveは次の場所からインストールされます。フラッグハブパスしてもアップロードおよびダウンロード速度パラメータは適用されず、-U 50 or -D 50
griveはシステムの最大アップロード/ダウンロード帯域幅を使用します。
Griveは内部的にファイル転送を使用しCURL
、カールには転送中の帯域幅を制御するためのパラメータがあります。(curl_off_t)
詳しくはこちら。
説明する
maxspeedと一緒にcal_off_tをパラメータとして渡します。アップロードがこの速度(1秒あたりのバイト数)を超えると、速度をパラメータ値以下に保つために転送が一時停止されます。デフォルトは無制限の速度です。
というファイルがありますgrive/libgrive/src/http/CurlAgent.ccソースコードに含まれる
CURLOPT_MAX_SEND_SPEED_LARGEとmMaxUpload
-U 50
アップロードオプションとして、mMaxUploadはkbps単位の値です。
CURLOPT_MAX_RECV_SPEED_LARGEとmMaxDownload
ダウンロードオプションとして、mMaxDownloadはkbps単位の値であり、griveを使用して設定されます。-D 50
帯域幅を制御するには、以下を追加します。(curl_off_t)
良い
static_cast<curl_off_t>( mMaxUpload )
上記のファイルの代わりmMaxUpload
にstatic_cast<curl_off_t>( mMaxDownload )
保存してください。mMaxDownload
ファイルを保存したら、ソースコードをコンパイルし、リポジトリの指示に従って実行してください。正常にコンパイルされたら、アップロードとダウンロードの帯域幅を設定できるようになりました。ここで、-U 50 / -D 50
50はkbpsです。