понедельник, 5 марта 2018 г.

Автозавершение Dropbox через указанное время в Linux

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

Решением задачи является дополнение двумя командами скрипта, описанного в заметке о предотвращении самопроизвольного восстановления автостарта клиента Dropbox при запуске системы (подробности).

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

sleep 1200
dropbox stop

1200 указывает на 20 минут (20x60). Для себя Вы можете указать другое значение.

Итого, полный текст скрипта имеет вид:

#!/bin/bash
zenity --info --text "Запуск клиента Dropbox." 2>/dev/null --timeout=3
dropbox start -i
sleep 7
rm "/home/user/.config/autostart/dropbox.desktop"
zenity --info --text "Автозапуск Dropbox удалён." 2>/dev/null --timeout=3
sleep 1200
dropbox stop

Если вместо информационного сообщения по центру экрана Вы предпочитаете видеть вплывающие системные уведомления (оповещения), то вместо строки

zenity --info --text "Текст сообщения." 2>/dev/null --timeout=3

используйте строку  notify-send -i info "Текст сообщения."

Если системные уведомления (оповещения) не отображаются, то возможно, что в системе отсутствует необходимый пакет и его требуется установить:

sudo apt install libnotify-bin


Если не нужны информационные сообщения на экране, то текст скрипта может выглядеть так:

#!/bin/bash
dropbox start -i
sleep 7
rm "/home/user/.config/autostart/dropbox.desktop"
sleep 1200
dropbox stop

Отображение в Linux Mint 18.2 xfce

При экспериментальной проверке контроль осуществлялся по диспетчеру задач xfce. После запуска скрипта видно, что работают клиент Dropbox
dropbox-dist/dropbox-lnx.x86_64-45.3.88/dropbox и скрипт dropboxme.sh


Выполняющуюся команду sleep можно увидеть в списке задач ниже


После остановки Dropbox скрипт также прекращает свою работу


Отображение в Ubuntu 16.04.4

Экспериментальная проверка производилась на системе Runtu, которая является адаптацией xUbuntu для русскоязычного пользователя. Контроль осуществлялся по диспетчеру задач. Отображение в этой системе немного отличается от отображения в Linux Mint. Работа клиента Dropbox отображается процессом dropbox. Чтобы увидеть отображение работы скрипта необходимо перейти в конец списка запущенных задач.



Когда выполняется команда sleep в диспетчере задач она также отображается.


Комментариев нет:

Отправить комментарий