вторник, 27 ноября 2018 г.

Автоматизация процессов. Запуск и остановка в Linux клиента pCloud по расписанию через скрипты bash

Если Вы ещё не знаете про pCloud, то можете почитать эту публикацию.

pCloud для Linux предлагает приложение синхронизации для Linux в виде appimage (самую свежую версию можно взять здесь). Решение на первый взгляд простого вопроса автоматизации процесса "запуск клиента – синхронизация – выключение клиента" привело к необходимости решения нескольких задач, связанных с особенностями работы клиента pCloud. Решение приводится применительно к графическому окружению xfce.

В конечном счёте решение по автоматизации автоматизация процесса вылилось в запуск двух или трёх заданий по расписанию (см. пользовательское задание cron).

Запуск клиента pCloud

Для запуска клиента используется простой скрипт, например pcloud1.sh

#!/bin/bash
/путь_до_файла/pcloud

А команда пользовательского задания представляет из себя

export DISPLAY=:0 && /path/pcloud1.sh

path – путь до скрипта pcloud1.sh

Первоначальное добавление в pcloud1.sh строки exit (завершение pcloud1.sh) не привело к желаемому результату. В диспетчере задач наблюдалось 2 процесса:

pcloud1.sh
sh -c export DISPLAY=:0 && /path/pcloud1.sh

Чтобы pcloud1.sh "не висел" в менеджере задач был создан скрипт pcloud2.sh, запускаемые по расписанию через минуту после запуска pcloud1.sh  Скрипт представляет из себя "просьбу" завершить все имеющиеся процессы с наименованием pcloud1.sh

#!/bin/bash
killall -s TERM pcloud1.sh
sleep 1 && exit

Остановка клиента pCloud

Данный скрипт, с точки зрения его создания, явился наиболее трудоёмким, что объясняется двумя причинами.

Вопрос 1. Работа клиента стала сопровождаться несколькими процессами. Например, при запуске клиента и следующим за ним автоматическим открытием всех окон в диспетчере задач можно увидеть 6 процессов pcloud:


После закрытия основного окна клиента и экземпляра менеджера файлов, отображающего содержимое облака pCloudDrive в диспетчере задач останется 5 процессов pcloud:


Так как терминальной команды для завершения работы клиента не существует, то по аналогии с MEGA и Облако@Mail.Ru можно применить решение по "мягкому" завершению процесса pcloud по его значению pid, то есть командой kill -15 pid_pcloud

Но если запросить pid процесса pcloud, то в результате будет получено либо 6 групп цифр, соответствующих pid процессам pcloud (пример: 16129 16103 16077 16048 16036 16032), либо 5 групп (пример: 29419 29398 29352 29324 29320). Данные значения pid будут каждый раз меняться.

Количество процессов (5 или 6) зависит от того, открыты ли у Вас все окна, открываемые автоматически при запуске клиента, либо эти окна закрыты и активен только значок состояния на подставке рабочего стола (системной панели, трее).

Возникает закономерный вопрос: а какой именно процесс необходимо выключать?

Вопрос 2. При запуске клиента pCloud автоматически открываются 2 окна, одно из которых является окном клиента, а второе экземпляром файлового менеджера, соответствующего открытому каталогу pCloudDrive, содержание которого составляет контент смонтированного в него пространства облака учётной записи pCloud, например:



Если после выключения клиента pCloud окно клиента (верхний рисунок) изчезнет, то второе окно так и останется открытым. Содержимое второго окна будет пустым, так как в процессе завершения работы клиента облако pCloud было размонтировано.

Вопрос: и как его автоматически закрыть?

Примечание. Вопрос о закрытии открытого окна приложения pCloud не ставится, так как в xfce значок на панели (системном лотке, трее) отображает только состояние "синхронизировано" или "синхронизируется". Сведения о количестве загружаемых или скачиваемых файлов, а также скорости процесса отображаются в нижней части открытого окна приложения pCloud.

Отвечать на поставленные вопросы будем последовательно.

Ответ 1.  Экспериментально было установлено, что для выхода клиента pcloud необходимо выключать процесс pcloud с самым маленьким значением pid, что соответствует процессу pCloud Drive (см. диспетчер задач). Поэтому самой трудной задачей автоматизации будет являться выборка из полученных значений наименьшего pid, чтобы потом его назначить переменной.

Как оказалось, эту задачу можно решить, по крайней мере, четырьмя способами. Кроме того, "мягкое" выключение всех процессов pcloud можно осуществить командой killall c указанием имени процесса. Так как все решения, которых набирается 5, ведут к одному и тому же результату, то ниже следует их перечисление.

1 вариант:  killall -s TERM pcloud

Здесь всё понятно. Выдаётся команда на завершение всех процессов pcloud.

Следующие три способа представляют из себя ряд последовательных операций. Сначала производится получение значений pid всех экземпляров pcloud и их запись в файл (например pcloud.txt). Содержание файла представляет из себя последовательность из 5-ти или 6-ти групп цифр (см. пояснение выше). Далее "вылавливается" последняя группа (5 цифр) из полученного ряда значений pid и присваивается переменной (например VAR). Заключительное действие является выполнением команды kill -15 $VAR, что равносильно выполнению kill -15 с указанием наименьшего значения pid из файла pcloud.txt

2, 3, 4 варианты:

pidof pcloud> ~/pcloud.txt
VAR=`cat ~/pcloud.txt | grep -o [0-9]*$`
kill -15 $VAR

pidof pcloud> ~/pcloud.txt
VAR=`cat ~/pcloud.txt | awk '{print $NF}'`
kill -15 $VAR

pidof pcloud> ~/pcloud.txt
VAR=`cat ~/pcloud.txt | rev | cut -d' ' -f 1 | rev
kill -15 $VAR

Варианты 1–4 были предложены пользователи форума Linuxmint.com.ru с никами slant (2), Chocobo (3 и 4), demonlibra (1). Пользуясь случаем, хотелось бы ещё раз выразить им свою благодарность.

5 вариант

При получении списка pid процессов pcloud командой pgrep результат в файле pcloud.txt будет представлен "в столбик", то есть каждое значение pid будет располагаться в новой строке в порядке их возрастания, например:

29320
29324
29352
29398
29419

Следующим шагом будет являться присвоение переменной значения самой первой строки файла pcloud.txt

pgrep pcloud> ~/pcloud.txt
VAR=`sed -n '1p' ~/pcloud.txt`
kill -15 $VAR

Содержание файла pcloud.txt будет перезаписываться при каждом выполнении команды pidof pcloud> ~/pcloud.txt  Но если наличие этого "один раз нужного" файла слишком нервирует, то для его удаления можно добавить команду rm ~/pcloud.txt

Ответ 2.  Несмотря на кажущуюся простоту команды закрытия активного окна Thunar командой thunar -q (получена после выполнения в терминале thunar --help), в рассматриваемом случае она не срабатывает.

После рассмотрения дерева процессов обнаружено, что в перечне активных процессов имеется Thunar --daemon :


Закрыть открытое клиентом pCloud окно Thunar можно тремя способами:

а) завершить все активные процессы Thunar   killall -s TERM /usr/bin/Thunar ;

б) получить pid процесса Thunar, записать его в переменную и завершить его командой kill -15 значение_переменной

OUTPUT="$(pidof /usr/bin/thunar)"
kill -15 ${OUTPUT}

в) получить pid процесса Thunar, записать его в файл, присвоить переменной значение, полученное из чтения файла и завершить его командой kill -15 значение_переменной

pidof /usr/bin/Thunar> ~/thunar.txt
VAR2=`cat ~/thunar.txt`
kill -15 $VAR2

Содержание файла thunar.txt будет перезаписываться при каждом выполнении команды pidof /usr/bin/Thunar> ~/thunar.txt  Но если наличие этого "один раз нужного" файла слишком нервирует, то для его удаления можно добавить команду rm ~/thunar.txt

Все варианты равнозначны. Результатом их выполнения является завершение процессов thunar --daemon и Thunar (соответствует открытому окну с содержимым каталога pCloudDrive).

По вопросу "важности" процесса thunar --daemon на англоязычном форуме была найдена информация, что на функциональность Thunar и системы в целом это существенного влияния не оказывает. Единственный минус заключается в том, что без этого процесса подсоединённый съёмный носитель (например, флэшка) автоматически смонтирован будет только при открытом окне Thunar. Если никакого экземпляра Thunar не запущено, то съёмный носитель автоматически не монтируется. В этом случае придётся открыть Thunar и осуществить монтирование вручную, например:


В любом случае после очередного запуска системы thunar --daemon будет запущен автоматически


что определяется содержанием файла

/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml  (см. --daemon)

<property name="Client2_PerScreen" type="bool" value="false"/>
      <property name="Client3_Command" type="array">
        <value type="string" value="Thunar"/>
        <value type="string" value="--daemon"/>
      </property>

Итого, скрипт завершения работы клиента pCloud (например pcloud3.sh) может быть следующего содержания (выбирается один вариант и один способ):

#!/bin/bash
вариант  1, 2, 3, 4, 5
sleep 5
способ   а, б, с
sleep 5 && exit

Команда 5-секундной паузы slеep 5 была введена в целях тестирования  скрипта для наблюдения за процессами. В рабочем скрипте её можно не использовать.


Пример пользовательского задания cron для ежедневной 40-минутной автоматической синхронизации с облаком pCloud с 21:40 до 22:20

40 21 * * * export DISPLAY=:0 && /home/user/Tools/scripts/pcloud1.sh
41 21 * * * /home/user/Tools/scripts/pcloud2.sh
20 22 * * * /home/user/Tools/scripts/pcloud3.sh

Если ограничиться только скриптами запуска и выключения, то есть pcloud1.sh и pcloud3.sh, то скрипт pcloud3.sh должен выключать pcloud c процессом pid не наименьшим, а на единицу больше, то есть из полученного ряда значений, например,

28354 28355 28359 28371 28399 28426 28449 28684 ,

должно быть выбрано второе (28355). Объясняется тем, то 28354 соответствует активному скрипту pcloud1.sh.

Соответственно, в этом случае для выключения процессов pcloud будет использоваться такой код:

pgrep pcloud> ~/pcloud.txt
VAR=`sed -n '2p' ~/pcloud.txt`
kill -15 $VAR

Тогда пользовательское задание приобретает вид, например:

40 21 * * * export DISPLAY=:0 && /home/user/Tools/scripts/pcloud1.sh
20 22 * * * /home/user/Tools/scripts/pcloud3.sh

пятница, 23 ноября 2018 г.

Linux Mint и Ubuntu: клиент hubiC не соединяется с облаком

Последняя версия клиента Linux (1.2.4) датирована 1 ноября 2017 года. После его установки в систему при попытке соединения с облаком командой

hubic login e-mail /home/user/folder

где e-mail – это адрес электронной почты (логин), а /home/user/folder – полный путь к каталогу hubiC для синхронизации (user – домашний каталог пользователя).

в терминале отображается сообщение о невозможности входа

[Error] Timeout
Command failed: System.InvalidOperationException: Cannot log in.

При просмотре протокола работы приложения ~/.config/hubiC/application.log имеется сообщение о сетевой ошибке:

at System.Threading.Tasks.TaskFactory`1[TResult].FromAsyncCoreLogic (IAsyncResult iar, System.Func`2 endFunction, System.Action`1 endAction, System.Threading.Tasks.Task`1 promise, Boolean requiresSynchronization) <0x7f2ab548e4f0 + 0x00088> in <filename unknown>:0
[WARN | 23.11.2018 12:40:36 | Ovh.Hubic.Sync.Model.OnLogin] Can't connect: Ovh.Hubic.Interface.Exceptions.NetworkError: Timeout
  at Ovh.Hubic.Backend.HttpWebRequestWrapper.GetResponse () <0x40308670 + 0x00677> in <filename unknown>:0
  at Ovh.Hubic.Backend.ReplayableHttpRequest.GetResponse () <0x403797d0 + 0x00042> in <filename unknown>:0

"Лечение" найдено на одном из франкоязычных форумов и заключается в установке дополнительного пакета  sudo apt install ca-certificates-mono

После многих строчек, пробежавших в терминале,


можно узнать, что установлено 148 новых корневых сертификатов.

После данного действия вход в свою учётную запись успешно осуществляется и  данные начинают синхронизироваться.

hubiC 2018

После некоторого периода "затишья" при попытке создания ещё одной учётной записи облачного хранилища hubiC на странице регистрации обнаружено, что создание новых учётных записей прекращено. Как говорится на странице регистрации,

The hubiC service is now closed to new subscriptions.

In 2011, an experimental ‘Lab’ on storage technologies was met with a rapid and unexpected degree of success, so we developed this solution further and offered a more sophisticated version of it for sale...


Смысл представленного несколькими абзацами уведомления в том, что hubiC не сама не ожидала столь стремительного успеха своей "экспериментальной" лаборатории после создания решения для хранения данных, предназначенного для широкой общественности.

В настоящее время  в облаке hubiC пользователи осуществляют хранение более 100 ПБ данных, что эквивалентно 25 млрд. файлов формата mp3 или 300 млн. часов видео.

С годами и по мере того, как рынок становился все более и более конкурентоспособным, спецификации, необходимые для разработки решения для широкой публики, постепенно становились все длиннее и длиннее, и начинали всё больше расходиться с обновлениями и функциями, необходимыми и востребованными профессиональными решениями от hubiC.

hubiC не полагается только на свои технологии хранения. Существует ряд других аспектов, которые необходимо обновлять и отслеживать.

Вследствие этого, hubiC далее будет развивать только коммерческие решения. Несмотря на это, обслуживание существующих бесплатных учётных записей продолжается.

четверг, 22 ноября 2018 г.

Thunar: команда "выполнить скрипт" в контекстном меню


При тестировании своих скриптов возникает задача проверки его выполнения. Каждый раз запускать терминал и вводить полный путь к файлу скрипта не является удобным. Команду выполнения скрипта можно интегрировать в правое контекстное меню файлового менеджера Thunar.

Выберите "Правка – Особые действия":


В следующем разделе настроек нажмите "Добавить":


В поле "Имя" укажите наименование пункта, которое будет отображаться в меню, а в поле "Команда" впишите sh %f :


В условиях полявления укажите файлы *.sh :


Теперь при выделении файла с расширением sh в правом контекстном меню отобразится указанное наименование команды:


вторник, 20 ноября 2018 г.

Расширение Thunar для облака MEGA

В менеджере пакетов Synaptic нашлось полезное дополнение, расширяющее возможности работы файлового менеджера Thunar с облаком MEGA. Пакет дополнения называется thunar-megasync.

Почему-то для 64-битной Linux Mint 18.3 данный пакет найден только i386, в то время как в Linux Mint 19 данный пакет, похоже, 64-битный.


Пакет для Linux Mint 18.3


Пакет для Linux Mint 19

После установки пакета при запущенном клиенте синхронизации при выделении каталогов или файлов появляется возможность их загрузки на облако MEGA через правое контекстное меню Thunar.


Загрузить 1 каталог


Загрузить 1 файл


Загрузить 3 каталога


Загрузить 3 файла

После активизации данного пункта правого контекстного меню Thunar будет вызвано окно загрузки. По умолчанию выбранный контент будет загружаться в папку MEGAsync Uploads облака MEGA.


Если такой папки на Вашем облаке MEGA не существует, то она будет создана автоматически. Однако загрузка именно в эту папку не является обязательной. Папку загрузки можно изменить и даже переназначить на другую папку по умолчанию. Для этого нажмите на красный логотип MEGA (на рисунке выше справа) и укажите другую папку Вашего облака MEGA.


Процесс помещения выбранного контента на облако MEGA можно наблюдать по состоянию значка клиента синхронизации (отображение чёрного кружочка).


После завершения загрузки и отсутствии синхронизации папки для таких загрузок с компьютером результат можно проверить через браузер, например:.


После выключения клиента синхронизации соответствующие пункты в правом контекстном меню Thunar отображаться не будут.

понедельник, 19 ноября 2018 г.

Цитаты в терминале


Приведенное публикуется после ознакомления с публикацией "Добавить афоризмы в терминал Linux (Это интересно)".

Действительно, получилось интересно:


Ниже приводится список цитат, отображённых у меня за последнее время:

ЧЕТВЕРТЫЙ ЗАКОН ПРОВЕРКИ
 Как бы кропотливо и тщательно вы ни готовили выборку, вам всегда могут
 сказать, что она неправильна и неприменима к данной проблеме.

Принятие нужных мер, всегда обходится дешевле, чем принятие решительных.
-- Евгений Кащеев

Три минуты удовольствия не стоят трёх часов хорошего разговора.
-- Р. Дэйнджерфилд

Нет ни в чем Вам благодати,
Со счастием у Вас разлад:
И прекрасны Вы некстати,
И умны Вы невпопад.
-- А.С.Пушкин

Не порицайте женщину. Ибо цель мужчины истина, а цель женщины довольство собой.

Если Вам понравилось, то выполните в терминале

sudo apt install -y fortune-mod fortunes-ru && xed ~/.bashrc (Linux Mint)

sudo apt install -y fortune-mod fortunes-ru && gedit ~/.bashrc (Ubuntu)

В результате у Вас будет установлено соответствующее ПО и откроется текстовый редактор с содержимым файла ~/.bashrc, в который необходимо дописать строку fortune:


Сохраните изменение в файле  ~/.bashrc

Соответственно, для удаления выполните в терминале

sudo apt purge -y fortune-mod fortunes-ru && xed ~/.bashrc (Linux Mint)

sudo apt purge -y fortune-mod fortunes-ru && gedit ~/.bashrc (Ubuntu)

В открывшемся текстовом редакторе удалите строку fortune (см. выше) и сохраните файл.

Отображаемые цитаты расположены в файлах без расширения в каталоге /usr/share/games/fortunes/ru (можно, например, открыть отмеченный файл amur)


Выбирая из этих файлов понравившееся можно составить свой цитатник для использования в переписке по E-mail или общении.

четверг, 15 ноября 2018 г.

Автоматизация процессов. Остановка в Linux клиента Mega по расписанию через скрипт bash

Одной из задач, решение которых потребовало времени, явилась необходимость выполнения команды остановки работы графических клиентов клиентов Mega и Облако@Mail.Ru без участия оператора компьютера, то есть производимых по расписанию. Другими словами – организация полной автоматизации циклов "Запуск клиента – Синхронизация – Выход из приложения" .

Стремление решить такую задачу было обусловлено тем, что "лавры" удобства использования клиента синхронизации Dropbox через команды запуска и остановки, осуществляемые в автоматическом режиме по расписанию, долгое время не давали покоя.

Если с запуском графических клиента синхронизации Mega и Cloud@Mail.Ru вопросов не возникало (запуск осуществляется командами megasync и cloud), то как останавливать их работу без вызова контекстного меню управления через значок системного лотка (трея) было не понятно.

В конце концов было выяснено, что таких терминальных команд для указанных графических клиентов не существует (или мне их так и не удалось найти), поэтому завершение работы приложения пришлось осуществлять через закрытие процесса (megasync или cloud). Например, в диспетчере задач XFCE указанные процессы отображаются как:



Как пишет автор этой публикации, чтобы "попросить процесс (вежливо) остановиться" используется команда SIGTERM, соответствующая выполнению команды kill -15.

В ходе практической проверки команда kill -15 megasync (то есть с указанием имени процесса) не была выполнена, так как SIGTERM вместо имени процесса требует указывать его pid. Поэтому перед выполнением SIGTERM требуется получить pid процесса megasync, который каждый раз будет разным.

Получение pid процесса megasync осуществляется командой pidof megasync

Первоначальное решение заключалось в записи полученного pid в файл

pidof megasync > /home/minter/megasync.txt

и последующей записи pid в переменную путём считыванием 1-й строки megasync.txt

MYVAR=`sed -n '1p' /home/minter/megasync.txt`

Примечание.  /home/minter/ можно заменить на ~/

Далее осуществляется выполнение kill -15 $MYVAR, то есть kill -15 pid-megasync

Желаемый результат был достигнут, а промежуточные данные в виде файла megasync.txt подлежали удалению: rm /home/minter/megasync.txt

Полный текст скрипта составил:

#!/bin/bash
pidof megasync > /home/minter/megasync.txt
MYVAR=`sed -n '1p' /home/minter/megasync.txt`
kill -15 $MYVAR
rm /home/minter/megasync.txt
exit

Однако впоследствии были предприняты поиски решения, при котором полученный pid можно было бы кратковременно запомнить и подставить это значение в kill -15 pid-megasync.

Благодаря автору этой публикации, решение данной задачи свелось к двум строкам кода:

OUTPUT="$(pidof megasync)"
kill -15 ${OUTPUT}

После подстановки полученного ${OUTPUT} после kill -15 было реализовано "мягкое" завершение работы процесса megasync, которое по своему функционалу соответствует команде "Выход", вызываемой из графического индикатора клиента MegaSync.

Скрипт был оформлен как файл sh и ему было назначено выполнение по расписанию.

#!/bin/bash
OUTPUT="$(pidof megasync)"
kill -15 ${OUTPUT}
exit

Не читается флэшка. Низкоуровневое форматирование в Linux

На практике пару раз возникала ситуация, когда в флэшка не "читалась" и с ней ничего не удавалось сделать. Такое возможно в случаях её "выдёргивания" из разъёма usb без отмонтирования или выхода файловой системы (таблицы размещения файлов) из строя. При этом переформатировать её также не удаётся ни через менеджер дисков, ни через gparted.

При поиске в Интернет инструментов низкоуровнего форматирования флэш-накопителя результаты в своём подавляющем большинстве будут относиться к Windows. В случае же Linux такое действие можно осуществить командой "забивания" накопителя нулевыми значениями байтов, представленных в hex-коде (16-ричной системе счисления).

sudo dd if=/dev/zero of=/dev/sdx bs=4M status=progress

в sdx вместо x необходимо подставить букву накопителя. Ниже приводится пример для флэшки 4 Гб.



На рисунке выше видно, что выделенный раздел накопителя флэш обозначен как b1. Поэтому сам накопитель необходимо указывать как b. С учётом указанного, команда будет иметь вид:

sudo dd if=/dev/zero of=/dev/sdb bs=4M status=progress

После выполнения команды в терминале начнёт отображаться ход процесса:


По его завершении отобразится, что

3879731200 байт (3,9 GB, 3,6 GiB) скопирован, 442,986 s, 8,8 MB/s
dd: ошибка записи '/dev/sdb': На устройстве не осталось свободного места
926+0 записей получено
925+0 записей отправлено
3879731200 байт (3,9 GB, 3,6 GiB) скопирован, 442,987 s, 8,8 MB/s
[user@|~ ] $

Однако после команды "отмонтироовать" следует обратить внимание на возможное системное уведомление, что на устройство идёт запись данных и необходимо дождаться завершения операции.

После исчезновения уведомления накопитель можно из usb изъять, а при повторном его подключении в менеджере дисков будет отображено:


среда, 14 ноября 2018 г.

Linux. Зеркальная копия каталога на другой хост с помощью ssh

Сохранность данных пользователя – головная боль пользователя, который сам должен позаботиться о том, чтобы ничто из "нажитого непосильным трудом" (из к/ф "Иван Васильевич меняет профессию) не пропало. И если сам пользователь сам об этом не позаботится, то никто другой за него это не сделает. А если он не сумеет это сделать сам, то о таком должен позаботиться близкий человек.

Ранее мной был описан вариант создания резервной копии, транслируемой из одного облака в другое при помощи инструмента создания зеркальной копии данных grsync.

Имеющееся решение предусматривало сохранение критически важных данных с компьютера Windows на Диск Яндекс в реальном масштабе времени (синхронизация). Сохранённые на Диск Яндекс данные предоставлялись в доступ в режиме "только чтение" другой учётной записи Яндекс, которые синхронизировались на другой компьютер под управлением Linux. Полученные данные с помощью grsync зеркалировались в другую папку, синхронизируемую с облаком MEGA.

С появлением ещё одного компьютера решение задачи решено было немного изменить, чтобы зеркальная копия данных с одного компьютера Linux осуществлялась на другой компьютер Linux. При этом, чтобы избежать погружения в тонкости операций с терминальными командами Linux, решение будет базироваться на использовании уже готовых бесплатных инструментов.

Так как доступ к файловой системе второго компьютера в силу определённых причин решено было осуществлять не через Samba, а через SSH, то возникла, на первый взгляд, неразрешимая ситуация, связанная с тем, что выбранное ПО для синхронизации данных FreeFileSync не "умеет" работать с SSH.

И хочется, и колется, и мамка не велит ... Но, как говорится, если нельзя, но очень хочется, значит можно. Поэтому, чтобы было "моня", используем инструменты rclone + rclone browser, который будет транслировать содержание удалённого ресурса SSH в локальный каталог компьютера.

Не буду останавливаться на настройке FreeFileSync. Несмотря на англоязычность сайта, после скачивания архива tar.gz, его последующей распаковки и запуска файла FreeFileSync Вы обнаружите, что программа "разговаривает" по-русски.



На что следует обратить внимание?

Вызовите команду "Действия – Настройки синхронизации" (или нажмите F8). Так как SSH "не понимает" действия удаления в корзину, то следует указать безвозвратное удаление на приёмнике. То есть, при удалении из неё элементов (источник) такие же действия производятся и на приёмнике (получателе).


Второй особенностью является то, что данные для синхронизации источника будут хранится в каталоге, подлежащем зеркалированию, в виде скрытого файла .sync.ffs_db  А как указывалось в поставленной задаче выше, источник синхронизируется с Диском Яндекс в режиме "только чтение". И если файл .sync.ffs_db будет оставаться в каталоге, то при очередном сеансе синхронизации с Диском Яндекс будет отображена ошибка синхронизации, связанная с невозможностью записи файла .sync.ffs_db (ресурс "только чтение").

Решение заключается в том, чтобы:

1) зеркалирование каталога с помощью FreeFileSync осуществлялось при выключенном демоне Диска Яндекс, а при работающем демоне Диска Яндекс файла .sync.ffs_db в синхронизируемом каталоге быть не должно;

2) при запуске FreeFileSync файл .sync.ffs_db записывается в зеркалируемый каталог, а при выключении FreeFileSync файл .sync.ffs_db перемещается в другое место.

Исходя из п.2, для запуска FreeFileSync будет использоваться скрипт sh. Ниже приводится текст реального скрипта:

#!/bin/bash
mv /home/cemea/Yandex/Rovena/.sync.ffs_db /home/cemea/Yandex/Rovena/Логика
/home/cemea/Tools/FreeFileSync/FreeFileSync
mv /home/cemea/Yandex/Rovena/Логика/.sync.ffs_db /home/cemea/Rovena/Traidex
zenity --info --text "sync.ffs_db сохранён" 2>/dev/null --timeout=3
sleep 1 && exit

Теоретически можно предположить, что на компьютере Windows винчестер "прикажет долго жить". И даже то, что по "закону подлости" одновременно с ним выйдет из строя и винчестер на компьютере Linux. Но если возникнет ситуация, при которой одновременно "вылетят" винчестеры всех трёх компьютеров, то в этом случае останется лишь восклицать "дас ист фантастиш" и ...

понедельник, 12 ноября 2018 г.

СПАМ с "дальним прицелом"

Эта публикация демонстрирует реальный пример почтового спама, пропущенного фильтрами электронной почты, который пытается использовать один из методов социальной инженерии. В частности, целью данного сообщения являются пользователи, которые не обращают внимания на явные "нестыковки" в заголовке и теле почтового сообщения, слепо доверяясь тому, что в нём написано.


1. Прежде чем бездумно нажимать на ссылку, следует вспомнить народную мудрость о том, что бесплатный сыр бывает только в мышеловках.

2. В качестве имени отправителя указан Газпромбанк. Неужели кто-то ещё полагает, что Газпромбанк занимается какими-то розыгрышами между адресами электронных почт?

Обратите внимание на то, что в качестве e-mail отправителя указан sender@i-retail.com  Не настораживает какая-то степень несоответствия между именем отправителя и его адресом электронной почты?

Можно обратиться на https://2ip.ru и запросить информацию о домене i-retail.com


В результате выяснится, что домен i-retail.com


Ну как-то не вяжется Газпромбанк с провайдером США.

3. Если подвести мышку к кнопке "Заберите сумму своего выигрыша уже сейчас", то в нижней части браузера высветится, что при нажатии на эту кнопку браузер обратится по адресу http://bit.ly/... , что также не совсем соответствует Газпромбанку.

Что будет после перехода никто заранее не скажет. Имеется большая вероятность того, что в конечном итоге Вам попытаются внедрить вредоносный код в виде какого-нибедь вируса-шифровальщика или майнера криптовалют.

Исходя из вышесказанного, можно смело присвоить сообщению статус "мошенническое".

4. Кто сдал адрес? Кто виноват? Скорее всего, этот вопрос останется без ответа. В описываемом случае адрес используется для коммуникации в сфере академического образования. Учитывая то, что в образовании сплошная Windows, для которой вредоносного кода придумано не просто много, а очень много, а также время существования адреса около 20 лет, то лично мне удивляться не приходится. Просто и этот отправитель будет внесён в пользовательский фильтр почты Mail.Ru, в результате срабатывания которого сообщение будет удалено, а отправителю будет направлено системное сообщение "Нет такого адреса".