Профиль: Резервное копирование или Синхронизация?



  • 0_1560030475427_backup.jpg

    Так синхронизация, или же резервное копирование?
    Мой выбор очевиден, и к тому же, начало уже было положено здесь, а спустя год снова решали проблему.
    Для понимания того о чем далее пойдёт речь, советую прочесть: Резервное копирование и перенос данных в браузере Vivaldi,
    не забудьте про официальную страницу справки Full reset of Vivaldi, и вот этот пост, так же обязателен к прочтению Manually Backup/Restore.

    Видео, как это работает:
    Импорт профиля из архива в браузер + импорт пароля.
    Экспорт профиля в архив, как работает сценарий.

    Внимание ! Прежде чем, что либо удалить, всегда делайте Резервные копии.

    Предложенный ниже код, это сценарий, запустив который, вы сможете облегчить задачу сбора и архивации файлов дефолтного профиля браузера.
    Работоспособность кода зависит от установленных в вашей системе программ-архиваторов. Наличие «WinRAR» или «7-ZIP» приветствуется,
    поскольку код писался и тестировался только для этой "парочки". Если у вас другой софт, придётся скачать пакет 7z1900-extra.7z.
    Это автономный «7-ZIP», работает без установки в систему. Распакуйте архив, вам будет нужен файл 7za.exe, а его разрядность на ваше усмотрение.
    Вы можете ни чего не скачивать, и продолжать использовать свой штатный архиватор. Но тогда нужно будет, чуть подправить код сценария.
    Все команды прокомментированы, и в принципе должно быть понятно - что, где и когда. Используемая мной ОСь Windows 7, на Win 8,10 - не тестировал.

    cls
    @echo off
    title Backup profile Vivaldi
    setlocal
    rem Принудительно "гасим" процессы браузера
    set "Apps=update_notifier.exe,vivaldi.exe"
    :stop
    for %%a in (%Apps%) do tasklist | findstr /irc:"^%%a" && (taskkill /f /t /im "%%a"& goto stop)
    rem Задаём переменные, Vivaldi - каталог юзер-профиля, vPatch - путь к exe(шнику) браузера
    set "Vivaldi=%LocalAppData%\Vivaldi"
    set "vPatch=%LocalAppData%\Vivaldi\Application\vivaldi.exe"
    rem Задаём переменную End, куда будет помещён архив (здесь"C:\Users\XXXXX\Documents")
    set "End=%UserProfile%\Documents"
    rem Задаём переменную UserD и создаём каталог сбора файлов (здесь системная "Temp")
    set "UserD=%Temp%\Vivaldi\User Data"
    mkdir "%UserD%\Default"
    rem Копируем Папки (расширения, их настройки, настройки браузера)
    xcopy "%Vivaldi%\User Data\Default\databases" "%UserD%\Default\databases" /s /q /i /v
    xcopy "%Vivaldi%\User Data\Default\Extension Rules" "%UserD%\Default\Extension Rules" /s /q /i /v
    xcopy "%Vivaldi%\User Data\Default\Extensions" "%UserD%\Default\Extensions" /s /q /i /v
    xcopy "%Vivaldi%\User Data\Default\Local App settings" "%UserD%\Default\Local App settings" /s /q /i /v
    xcopy "%Vivaldi%\User Data\Default\Local Extension settings" "%UserD%\Default\Local Extension settings" /s /q /i /v
    xcopy "%Vivaldi%\User Data\Default\Local Storage" "%UserD%\Default\Local Storage" /s /q /i /v
    rem Копируем кастомные логотипы Экспресс-панели (задайте свой путь)
    xcopy "%Vivaldi%\User Data\myLogo" "%UserD%\myLogo" /s /q /i /v
    rem Копируем Файлы (закладки, логины-пароли, настройки профиля)
    copy /v "%Vivaldi%\User Data\Default\file_mapping.json" "%UserD%\Default\file_mapping.json"
    copy /v "%Vivaldi%\User Data\Default\Bookmarks" "%UserD%\Default\Bookmarks"
    copy /v "%Vivaldi%\User Data\Default\Login Data" "%UserD%\Default\Login Data"
    copy /v "%Vivaldi%\User Data\Default\Preferences" "%UserD%\Default\Preferences"
    copy /v "%Vivaldi%\User Data\Default\Secure Preferences" "%UserD%\Default\Secure Preferences"
    rem Оптимизация (удаление *.ldb - обновляемые данные расширений, сайтов и настроек  пользователя) 
    rem erase "%UserD%\*.ldb" /f /s /q
    rem Копируем "First Run" (маркер - первый запуск и настройка произведены)
    copy /v "%Vivaldi%\User Data\First Run" "%UserD%\First Run"
    rem Задаём переменные для создания имени файла архива - из билда, даты и времени
    set "vBuild=%vPatch:\=\\%"
    wmic Datafile where name="%vBuild%" get Version /format:Textvaluelist >"%UserD%\First Run"
    <"%UserD%\First Run" (for /f "tokens=2 delims==" %%a in ('more') do set "outBuild=%%a")
    rem set "arcDT=%date: =0% %time: =0%"
    rem for /f "tokens=1-7 delims=/-:., " %%a in ("%arcDT%") do (set arcDT=%%c-%%b-%%a_%%d.%%e.%%f)
    for /f "delims=." %%i in ('wmic OS get LocalDateTime ^| find "."') do set osDT=%%i
    set "aYear=%osDT:~0,4%"
    set "aMonth=%osDT:~4,2%"
    set "aDay=%osDT:~6,2%"
    set "aHour=%osDT:~8,2%"
    set "aMin=%osDT:~10,2%"
    set "aSec=%osDT:~12,2%"
    set "arcDT=%aYear%-%aMonth%-%aDay%_%aHour%.%aMin%.%aSec%"
    set "arcName=Default [%outBuild%] %arcDT%"
    rem Определяем разрядность системы, ищем архиватор "7-Zip" или "WinRar"
    if %Processor_Architecture% == x86 (if not defined Processor_ArchiteW6432 goto bit32)
    goto bit64
    :bit32
    path "%ProgramFiles%\7-Zip\";"%ProgramFiles%\WinRAR\"
    goto cont
    :bit64
    path "%ProgramW6432%\7-Zip\";"%ProgramFiles(x86)%\7-Zip\";"%ProgramW6432%\WinRAR\";"%ProgramFiles(x86)%\WinRAR\"
    :cont
    rem Запускаем процесс создания и перемещения архива, с переименованием в каталог юзера
    7z a -t7z "%Temp%\backup.7z" "%Temp%\Vivaldi" && move "%Temp%\backup.7z" "%End%\%arcName%.7z" 
    if errorlevel 1 (Rar a -ep1 -r "%Temp%\backup.rar" "%Temp%\Vivaldi" && move "%Temp%\backup.rar" "%End%\%arcName%.rar") ^
    || (7za a -tzip "%Temp%\backup.zip" "%Temp%\Vivaldi" && move "%Temp%\backup.zip" "%End%\%arcName%.zip")
    path; 
    rem Удаляем каталог сбора файлов
    rmdir /s /q "%Temp%\Vivaldi"
    endlocal
    rem Сигнал завершения  =))
    rundll32 user32,MessageBeep
    rem Открытие папки с готовым архивом
    explorer "%UserProfile%\Documents"
    timeout 3
    exit
    

    Копируем, вставляем, сохраняем документ, меняем расширение на bat. Если будете использовать 7za.exe, то он должен лежать рядом с bat-ником.
    В коде сценария, пути к файлам браузера взяты от режима установки "Install per user", и задействованы системные переменные.
    Вы можете менять пути, (я же не могу знать как и куда вы установили браузер) но обязательно заключайте всё в двойные кавычки.
    Текущий сценарий, выполнит архивацию только "в моей" комплектации. Хотите "всё включено" - читайте публикации по ссылкам, и правьте код.
    Будут минимально заархивированы: Настройки браузера, Настройки профиля, Расширения и их настройки, Закладки, Логины-пароли.
    Так как я использую кастомные логотипы сайтов на экспресс-панели, код их копирования включен (плюс файл "file_mapping.json", в нём пути к лого).

    Немного о коде.
    Строка, начинающаяся с REM (rem), НЕ обрабатывается и может использоваться для пояснений, заметок и т.п.
    стр.8 - принудительно завершит всё процессы браузера. Перед резервированием закройте браузер, иначе это сделает bat-ник.
    стр.33 - оптимизация размера архива, не рекомендуется использовать (закомментирована т.к. пока в режиме тестирования).
    стр.35 - команда копирования маркерного файла, самое главное действие в этом сценарии. Проверяйте наличие в архиве файла "First Run"
    стр.50 - задаётся переменная имени архива, она же в свою очередь состоит из маски + две переменные - версия браузера и текущая дата.
    Форма текущей даты: год-месяц-день_часы.минуты.секунды. Пример конечного результата: Default [2.5.1525.48] 2019-05-30_23.59.59
    стр.49 - вы можете сформировать шаблон Дата_Время, в зависимости от ваших собственных предпочтений.
    В генерации данных для переменных, в шаблон имени архива, задействована консольная утилита wmic.exe, из WMI.
    Если "wmic" не отработает, что мало вероятно, то есть резерв - снять REM со строк 40 и 41, тогда как строки 42-49 закомментировать,
    также присутствует шаблон дата_время, в конце стр.41 (c-b-a_d.e.f)

    Статья по списку запросов Useful WMIC Queries
    Желающим потестировать, оптимизировать код или портировать на другие скриптовые языки - Велкам.

    © "Я не волшебник. Я еще только учусь ..."



  • Отличная тема!
    Подскажите, можно ли таким образом ещё историю браузера сохранить? И как сделать такой архив автоматически под паролем?



  • @vladimirf said in Профиль: Резервное копирование или Синхронизация?:

    Подскажите, можно ли таким образом ещё историю браузера сохранить?

    Можно, прочтите Full reset of Vivaldi, и узнаете какие ещё файлы-папки можно-нужно бекапить. И добавьте код, в блок копирования файлов.

    copy /v "%Vivaldi%\User Data\Default\History" "%UserD%\Default\History"
    

    И как сделать такой архив автоматически под паролем?

    Прочтите справку к вашему архиватору.

    Ключи «7-ZIP» (7za) для архива c расширением 7z : -p123 и -mhe
    -p ключ, а 123 ваш пароль - можно посмотреть содержимое архива, а чтение и излечение только по паролю.
    -mhe шифрует заголовки файлов - просмотр и извлечение только по паролю.
    Ключ для архива c расширением zip : только -p123
    пример команды: 7z a -t7z -p123 -mhe

    Ключи «WinRAR» для архивов c расширением rar и zip одинаковы.
    -p123 - можно посмотреть содержимое архива, а чтение и излечение только по паролю.
    -hp123- шифрует заголовки файлов, просмотр и извлечение только по паролю.
    пример команды: Rar a -ep1 -r -hp123


 

Looks like your connection to Vivaldi Forum was lost, please wait while we try to reconnect.