1.2 Backing Up - HorlogeSkynet/thunderbird-user.js GitHub Wiki

Hopefully you have read what a user.js does, and how it works. It can have a profound effect on all your settings and data. The arkenfox user.js is pretty comprehensive, and no one size fits all - therefore, it is highly recommended that you backup before using it (or use a new or copied profile for testing).

The complete and easiest way to backup is to copy your entire profile directory when Thunderbird is closed. This directory contains many items that a user.js, with certain preferences, can wipe, such as cookies, site specific settings, saved passwords and login names, browsing + download + form history, disk cache, and more. Just backing up the prefs.js file is NOT enough, and not recommended by this wiki.

Profiles are in a number of locations depending on the platform.

  • Linux: ~/.thunderbird
  • Windows: %APPDATA%\Thunderbird\Profiles - a special environmental variable that usually goes to a place like C:\Users\{{ USERNAME }}\AppData\Roaming\Thunderbird\Profiles
  • MacOSX: ~/Library/Thunderbird/Profiles

To find your profile directory, go to "Help" > "Troubleshoot Information". Under "Application Basics" there is an item "Profile Directory" with a "Open Directory" button that will open the location of your current profile.

Application Basics

When copying your profile directory, it is advised that Thunderbird be closed. Rename your copied folder to something meaningful, and keep the original name (for an easy rollback). For example, if the profile folder is called jiu9k8gm.default. A backup copy might be called jiu9k8gm.default-2017-03-22 or jiu9k8gm.default-pre-arkenfox-userjs.

Be aware, that this is your entire profile. It will include all your accounts that you've added, and email that is being locally stored, the latter being in the Mail/Local Folders directory.

So rolling back will not keep any new cookies, saved passwords, bookmarks, extension changes and the like. The next wiki section outlines some methods you could use to implement and test out the user.js and various preferences.