FirefoxおよびRamDisk。 自動化、バックアップ、自動更新

ramdiskでのGoogle Chromeの使用に関するトピックを書いた後、Firefoxで同じことを行うためのいくつかのリクエストを受け取りました。

だから... 1週間のテストの後、RAMディスクでFoxを使用するための既製のレシピを投稿します。

設置


私たちは再び必要です:
nnCronnnBackup (必ず登録してください!)、 WinRARGavotte RamdiskWget 、より多くのRAM。

これらすべてをインストールし、ramdisk R:\を作成します。

準備する


開始するには、Foxを閉じる必要があります:)
エクスプローラーのアドレスバーに、%AppData%\ Mozilla \ Firefox \ Profilesと入力して、Enterキーを押し、プロファイルを含むフォルダーを開きます。
プロファイルフォルダーからすべてのファイルをD:\ Backup \ Firefox \ Profileにコピーします。
ファイル%AppData%\ Mozilla \ Firefox \ profiles.iniを開き、そこからすべてを削除して、次のテキストを貼り付けます。
[全般]
StartWithLastProfile = 1

[Profile0]
名前=デフォルトのユーザー
IsRelative = 0
パス= R:\ Firefox \プロファイル
デフォルト= 1

(埋め込みはできませんが、しばらくするとスクリプトが自動的に実行します)

すべてのプロファイルが正常に移行されました。

user.jsファイルの設定:

//
user_pref("browser.cache.disk.enable", true); // ..
user_pref("browser.cache.disk.capacity", 65535); // .. 64 . , :)
user_pref("browser.cache.memory.enable", false); //
user_pref("browser.cache.offline.enable", false); // , :)
user_pref("browser.turbo.enabled", false); // - . .
user_pref("config.trim_on_minimize", false); // . . 7

//
user_pref("app.update.auto", true); //
user_pref("app.update.enabled", false); //
user_pref("app.update.mode", 1); // ,
user_pref("app.update.silent", true); //
user_pref("browser.search.update", true); //
user_pref("extensions.update.enabled", true); //
user_pref("extensions.update.notifyUser", false); //


他に何? 他にパラメータを変更できるものを誰が知っているか、コメントに書いてください。

スクリプト


次に、nnCronを取り上げます。 王冠で複雑なことをする必要はありません。 ini.spfプラグインをプラグインC:\ Program Files \ nnCron \ pluginsのあるフォルダーにコピーし、トレイのメニューから接続します:オプション>プラグイン>追加。
まあ、最も重要なことはスクリプトをインストールすることです。

打ち上げ


最初のスクリプト、Loading_Firefox_into_RamDiskを起動します。 Foxの作業コピーがRAMディスク上に作成され、そこからデスクトップとクイック起動パネルへのショートカットを作成できます。
このスクリプトは、ログイン時にFirefoxをRAMディスクにロードします。 まず、キャッシュとfirefox.exe実行可能ファイルを除くすべてがロードされます。 これは、すべてのファイルが最後までコピーされるまでFoxを起動しないようにするためです。
次に、firefox.exeがコピーされます。その後、ブラウザを起動できます。キャッシュは、サーフィンと並行して既にロードされています。

#( Loading_Firefox_into_RamDisk
AsLoggedUser
SingleInstance
WatchLogon: "*"
Action:
SWHide
StartIn: "C:\Program Files\nnBackup\"
START-APPW: nnbackup.exe sync -i D:\BackUp\Firefox -o R:\Firefox -s -c -x firefox.exe -dx Cache
FILE-WRITE: "%AppData%\Mozilla\Firefox\profiles.ini" "[General]%crlf%StartWithLastProfile=1%crlf%%crlf%[Profile0]%crlf%Name=Default User%crlf%IsRelative=0%crlf%Path=R:\Firefox\Profile%crlf%Default=1"
S" R:\Firefox\Profile\compatibility.ini" INI-FILENAME
S" Compatibility" INI-SECTION
S" LastPlatformDir" S" R:\Firefox\App" INI-SET-VALUE
S" LastAppDir" S" R:\Firefox\App" INI-SET-VALUE
START-APP: nnbackup.exe sync -i D:\BackUp\Firefox\App -o R:\Firefox\App -c -m firefox.exe
START-APP: nnbackup.exe sync -i D:\BackUp\Firefox\Profile\Cache -o R:\Firefox\Profile\Cache -c
)#


バックアップ


バックアップは増分であるため、非常に高速です:) ramdiskから、Foxは1時間ごとにバックアップされます。 ここではすべてが基本です:キャッシュなしでプロファイルをバックアップし、次にキャッシュをバックアップします(プロファイルはより価値があります!:))

#( BackUp_Firefox
AsLoggedUser
SingleInstance
WatchProcStop: "firefox.exe"
Rule: PROC-EXIST: "firefox.exe" NOT
Action:
SWHide IdlePriority
AsService
StartIn: "C:\Program Files\nnBackup\"
FILE-WRITE: "%AppData%\Mozilla\Firefox\profiles.ini" "[General]%crlf%StartWithLastProfile=1%crlf%%crlf%[Profile0]%crlf%Name=Default User%crlf%IsRelative=0%crlf%Path=R:\Firefox\Profile%crlf%Default=1"
S" R:\Firefox\Profile\compatibility.ini" INI-FILENAME
S" Compatibility" INI-SECTION
S" LastPlatformDir" S" R:\Firefox\App" INI-SET-VALUE
S" LastAppDir" S" R:\Firefox\App" INI-SET-VALUE
START-APPW: nnbackup.exe sync -i R:\Firefox -o D:\BackUp\Firefox -s -ad -c -dx Cache
START-APP: nnbackup.exe sync -i R:\Firefox\Profile\Cache -o D:\BackUp\Firefox\Profile\Cache -ad -da -c
)#

#( BackUp_Firefox_One_Hour
AsLoggedUser
SingleInstance
Time: 0 * * * * *
Action: BackUp_Firefox RUN
)#


更新する


Firefoxは週に2回更新され、スクリプトは夜間ビルドから更新用のファイルを抽出します。
次のフォルダーを使用できます。

最新の電解/
latest-firefox-3.0.x-l10n /
latest-firefox-3.0.x /
latest-firefox-3.5.x-l10n /
latest-firefox-3.5.x /
latest-mozilla-1.9.1-l10n /
latest-mozilla-1.9.1 /
latest-mozilla-1.9.2-l10n /
latest-mozilla-1.9.2 /
latest-mozilla-central-l10n /
最新のMozillaセントラル/
latest-mozilla1.9.0-l10n /
latest-mozilla1.9.0 /
最新の場所/
最新のtracemonkey /
最新のトランク/

スクリプトは、これらのフォルダーのいずれかからリンクを取得する必要があります。

スクリプトの前に、ローカル変数foxlinkが設定され 、その中に上記のフォルダーの1 つへのフルパスを指定します。
ここ 、目的のアセンブリを右クリックし、リンクをコピーして、foxlink変数に貼り付けます。 完全に、最後にスラッシュ「/」が付いています(おそらく、あなたと私にとってはもう少し便利でしょう)。
Foxのロシア語バージョンが必要な場合は、名前が-l10nで終わるフォルダーのリンクを取得します。
ただし、以下は例であるため、すべてが表示されます。

別の変数はdspeedです。 これは、キロバイト単位のダウンロード速度制限です。 自動更新がサーフィン/作業に干渉しないように作られています:)

SET foxlink=http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-1.9.1-l10n/
SET dspeed=256k

#( Update_Firefox
AsLoggedUser
SingleInstance
Time: 0 20 * * 3,7 *
Action:
SWHide IdlePriority
AsService
StartIn: "C:\Program Files\Wget\"
DIR-DELETE: "R:\Updates\Firefox"

START-APPW: wget.exe %foxlink% -PR:\Updates\Firefox\ -c --limit-rate=%dspeed% --wait=2m --tries=60
FILE-EXIST: "R:\Updates\Firefox\index.html" NOT
IF
LOG: "D:\BackUp\update.log" ">> . Firefox [%FT-CUR FT>DD.MM.YYYY/hh:mm:ss%]"
EXIT
THEN

RE-MATCH: "%FILE: R:\Updates\Firefox\index.html%" "/firefox-\d\.\d(\.\d(\d)*)*(\l\d)*pre\.(en-US)|(ru)\.win32\.zip/i"
IF
START-APPW: wget.exe %foxlink%%$0% -PR:\Updates\Firefox\ -c --limit-rate=%dspeed% --wait=2m --tries=60
FILE-EXIST: "R:\Updates\Firefox\%$0%" NOT
IF
DIR-DELETE: "R:\Updates\Firefox"
LOG: "D:\BackUp\update.log" ">> %$0% [%FT-CUR FT>DD.MM.YYYY/hh:mm:ss%]"
EXIT
THEN

START-APPW: WinRAR.exe t R:\Updates\Firefox\%$0% -r -y
ExitCodeProc 0 <>
IF
LOG: "D:\BackUp\update.log" ">> %$0% [%FT-CUR FT>DD.MM.YYYY/hh:mm:ss%]"
EXIT
THEN

START-APPW: WinRAR.exe x R:\Updates\Firefox\%$0% R:\Updates\Firefox\ -y
ExitCodeProc 0 <>
IF
LOG: "D:\BackUp\update.log" ">> %$0% [%FT-CUR FT>DD.MM.YYYY/hh:mm:ss%]"
EXIT
THEN
PAUSE: 10000

START-APPW: nnbackup.exe sync -i R:\Updates\Firefox\firefox -o D:\BackUp\Firefox\App -s -ad -c

BEGIN PAUSE: 250 PROC-EXIST: "firefox.exe" NOT UNTIL

FILE-DELETE: "R:\Firefox\App\firefox.exe"
START-APPW: nnbackup.exe sync -i R:\Updates\Firefox\firefox -o R:\Firefox\App -s -ad -c -x firefox.exe
START-APPW: nnbackup.exe -i R:\Updates\Firefox\firefox\firefox.exe -o R:\Firefox\App -c
LOG: "D:\BackUp\update.log" " %$0% [%FT-CUR FT>DD.MM.YYYY/hh:mm:ss%]"
DIR-DELETE: "R:\Updates\Firefox"
ELSE
DIR-DELETE: "R:\Updates\Firefox"
LOG: "D:\BackUp\update.log" ">> . Firefox [%FT-CUR FT>DD.MM.YYYY/hh:mm:ss%]"
THEN
)#


更新の原則は次のとおりです。必要なリンクについてページが解析され、アーカイブがダウンロードされ、チェックされて解凍され、バックアップ内のファイルが更新されます。
Firefoxが実行中の場合、スクリプトはFoxが閉じるまで待機し、ramdisk上のファイルを更新します。

ヒント:ボタンを少し押すだけで、このスクリプトを簡単に再作成してThunderbirdを更新できます。

一般に、すべてが非常に安定して機能しますが、スクリプトに問題がある場合は、コメントに書き込み、修正を試みます。

UPD:友人がLinuxのオプションへのリンクを配置するように要求しました: TmpFSを使用したFirefoxのオーバークロック

Source: https://habr.com/ru/post/J72463/


All Articles