Запуск яндекс диска через планировщик
Чтобы использовать Диск на компьютере, сперва нужно установить специальную программу:
Скачайте программу на странице Яндекс.Диск. Когда файл начнет скачиваться, на странице отобразятся инструкции по запуску.
Примечание. Если у вас раньше был установлен классический Диск или Диск 2.0, приложение обновится до версии 3.0.
После установки выберите ярлыки, которые появятся на рабочем столе и в меню Пуск.
Примечание. Вы можете настроить отображение ярлыков в любой момент. Для этого откройте программу, в левом верхнем углу нажмите Файл → Настройки → Ещё . В блоке Ярлыки на рабочем столе и в меню Пуск укажите нужные опции.
Нажмите Готово . Значок программы появится в области уведомлений Windows.
Проверьте версию операционной системы. Программа Яндекс.Диск может быть установлена на Windows следующих версий: 32-разрядная Windows XP Service Pack 3, Windows Vista, Windows 7, Windows 8 (классический интерфейс), Windows 10 .
Восстановить Диск
Чтобы восстановить Диск после переустановки операционной системы, смены жёсткого диска или удаления программы:
Войдите в аккаунт. Если на вашем компьютере остались старые файлы Диска, они автоматически синхронизируются с сервером.
Ограничить доступ к папке на компьютере
Если вы хотите закрыть папку, например, от остальных пользователей вашего компьютера, вы можете ограничить доступ к ней стандартными средствами Windows . При этом следует помнить, что ограничение доступа может помешать работе программы.
Автоматический запуск
Установить программу
Чтобы использовать Диск на компьютере, сперва нужно установить специальную программу:
Скачайте программу на странице Яндекс.Диск. Когда файл начнет скачиваться, на странице отобразятся инструкции по запуску.
Примечание. Если у вас раньше был установлен классический Диск или Диск 2.0, приложение обновится до версии 3.0.
После установки выберите ярлыки, которые появятся на рабочем столе и в меню Пуск.
Примечание. Вы можете настроить отображение ярлыков в любой момент. Для этого откройте программу, в левом верхнем углу нажмите Файл → Настройки → Ещё . В блоке Ярлыки на рабочем столе и в меню Пуск укажите нужные опции.
Нажмите Готово . Значок программы появится в области уведомлений Windows.
Проверьте версию операционной системы. Программа Яндекс.Диск может быть установлена на Windows следующих версий: 32-разрядная Windows XP Service Pack 3, Windows Vista, Windows 7, Windows 8 (классический интерфейс), Windows 10 .
Если кто-то делает/сделает лучше и "пушистее" - рассказывайте, делитесь, да воздастся вам по делам вашим, в общем - welcome anytime! Моя задача была чтобы быстро и чтоб работало.
Пару слов про Яндекс Диск ( ЯД 🙂 ) - проект это коммерческий с бесплатной составляющей в виде заманухи. Да, здорово, что ЯД есть, никто не ворчит, но истинные мотивы проекта понимать надо - продавать. Делать бесплатные расширенные "плюшки" в программе никто не собирался. Основные моменты:
- программа устанавливается в каталог конкретного пользователя;
- запускается автозапуском при входе пользователя в систему, либо вручную;
- при включенной синхронизации, синхронизация начинается сразу после старта программы.
Получается для синхронизации файлов, пользователь должен быть все время залогинен в системе. Это не очень безопасно, куда хуже, что это ужасно неудобно. Нужно все время следить чтобы блокировать систему, а не выходить из нее.
Сначала полностью подготавливаете ЯД к работе - скачиваете, устанавливаете, вводите регистрационные данные, назначаете нужную папку, проверяете синхронизацию и завершаете программу.
Затем скачиваете nssm, распаковываете, переносите в Program Files - файл будет исполняться из того места, где он лежит, поэтому сразу переносим по месту. Мои комментарии относительно ЯД'а:
У меня пользователь с правами Администратора, настроить под обычного пользователя можно - мне это не нужно. Еще есть закладка, где можно выбрать используемые ядра процессора - разумная вещь.
Первая часть - это запуск nssm и скрипта, вторая - ЯД'а.
При этом графически нигде ЯД не светится - это очень хорошо, а синхронизация работает. Чтобы проверить нужно открыть ЯД в браузере и папку ЯД'а на компьютере - создавать/удалять и смотреть как в другой папке синхронно появляется/удаляется.
Запуск ЯД'а через ярлык программы стартует отдельный процесс с графической оболочкой. Вместе с нашим сервисом получается два одинаковых процесса, возможно отличающихся параметрами запуска:
Насколько конфликтует или нет - не проверял, синхронизация по прежнему работает. Лично я графической оболочкой буду пользоваться редко-редко, может быть для каких-то настроек, не более того. Вот в общем-то и всё. Осталось отключить запуск графической оболочки при входе пользователя.
Справедливости ради нужно поблагодарить человека, давшего наводку (прошу не путать с "на водку") на nssm, я лишь адаптировал к Яндекс Диску. Однако уверен 100%, что моя заметка будет полезна многим.
Добавление от 06.04.2016
Удаляем значок ЯД'а из Моего компьютера, так как щелчок на этом значке запускает графическую оболочку - HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\ удаляем
раздел
Добавление от 22.05.2016
Сегодня увидел, что Яндекс Диск не синхронизируется. Служба работает.. Стал припоминать, вспомнил, что менял пароль от ящика. Это важный момент - при смене пароля, нужно запустить программу ЯД'а и вбить новый пароль. Когда ЯД работает в фоновом режиме про это легко забыть.
После установки деcктопного клиента синхронизации Диск.Яндекс в Windows его запуск осуществляется автоматически. Это обусловлено тем, что разработчики включили его автоматический запуск при входе в систему, что и демонстрируется в настройках по умолчанию.
Следует отметить, что если в системе автостартует большое число приложений (а в Windows очень много прикладных программ, которые считают себя главным и единственным приложением, которое "обязано" быть запущенным при входе в систему), то зачастую ей приходится "тяжело". Внешне это может выражаться в длительной процедуре входа, а также невозможности в течение некоторого времени добиться отклика системы по завершении прорисовки рабочего стола. Другими словами, ситуация соответствует понятию "система стартовала и зависла".
Можно, конечно, воспользоваться предусмотренной в системе настройкой служб и приложений через оснастку "Управление компьютером", меняя тип запуска на отложенный.
Но более "красивое" решение можно получить при использовании Startup Delayer компании R2 studios.
Startup Delayer обеспечит Вам оптимизацию процесса запуска системы, откладывая запуск выбранных Вами процессов и программ, которые по умолчанию запускаются при входе в систему. Это позволит получить более быстрый старт, так как запуск выбранных Вами компонентов будет производиться либо через указанное Вами время, либо их запуск будет задержан до тех пор, пока не будет освобождено необходимое количество ресурсов Windows для их быстрого запуска.
Данная программа нашла у меня своё практическое применение в случае "разборок" с неправильным временем, когда необходимо было отложить запуск некоторых программ до того момента, пока время на компьютере не будет скорректировано. Подробности можно прочитать здесь.
Но, как оказалось, клиент Яндекс.Диск имеет свой "подводный камень". Если в Startuip Delayer настроить задержку запуска Яндекс.Диск, то задержки его запуска не будет, хотя, на первый взгляд, всё сделано как надо.
Весь секрет (или, как указывалось выше, "подводный камень") заключается в том, что команда запуска приложения указана с параметром -autostart, который и отображается, если в Startup Delayer обратиться к строке "Объект" в "Свойства приложения".
На Диске Яндекс (Яндекс Диск) файлы и папки можно предоставлять в доступ. При этом предоставленная информация будет находиться в доступе до тех пор, пока не будет владельцем удалена (её содержание или ссылка на контент).
У меня, в частности, возникла необходимость предоставлять данную информацию на временной основе. То есть через определённое время она должна быть удалена в автоматическом режиме без участия пользователя.
Для чего это было сделано? Во-первых, у меня есть респондент, который до сих пор так и не научился скачивать файлы с файлообменных ресурсов. Удивительно, но встречаются и такие люди. Во-вторых, – в силу использования Диском Яндекс так называемой дедупликации файлов, при наличии где-то на диске такого же контента, который мной запланирован к размещению, данный контент будет "загружен" практически моментально, что имеет несомненный плюс при размещении файлов большого объёма.
Вариант решения этой задачи заключается в создании заданий, выполнение которых происходит по расписанию.
Примечание. Если Ваш компьютер не работает ежедневно в течение одного и того же времени, а запускается от случая к случаю, то изложенное далее Вам вряд ли подходит.
В Linux и Windows задача решается различными способами и описывается отдельно для каждой из систем.
Практические шаги в Linux
1. Создаётся каталог, предназначенный для хранения временного контента. К нему устанавливается доступ либо в режиме предоставления в доступ конкретному пользователю (пользователям), либо путём создания веб-ссылки.
2. Назначается задание на удаление содержащегося в каталоге временного контента.
Для файлового менеджера Thunar может быть использовано удаление по расписанию командой правого контекстного меню.
Для других графических окружений может быть создано пользовательское задание, в процессе выполнения которого запускается исполняемый файл, осуществляющий удаление выбранного контента. Примерами содержания такого файла является:
При удалении файлов (каталогов) с именами, содержащими пробелы, пути к ним заключаются в одинарные или двойные кавычки, например:
Примечание. Если у Вас демон синхронизации запускается в процессе старта системы и работает постоянно, то в чтении пункта 3 нет необходимости.
3. Создаётся пользовательское задание, в процессе выполнения которого запускается исполняемый файл, осуществляющий запуск демона синхронизации Диска Яндекс и его последующую остановку. При этом процесс происходит в фоновом режиме без отображения на экране монитора. Примером содержания такого файла является:
Команда sleep 180 устанавливает количество секунд (180), в течение которых будет выполняться работа демона синхронизации до его остановки по команде yandex-disk stop. Величина в 3 минуты (180 секунд) выбрана из соображений того, что за это время процесс Яндекс Диска гарантировано пересчитает имеющиеся данные даже в случаях кратковременного пропадания соединения. Такие случае наблюдались при запуске Яндекс Диска с индикатором, когда в поле состояния высвечивалась надпись "Нет связи". Однако не позднее 1-2 минут соединение восстанавливалось.
Команда exit остановит выполнение исполняемого файла, после чего соответствующий ему процесс будет автоматически удалён из системы.
Если для своих задач Вы используете несколько учётных записей Яндекс Диска, то перед запуском демона синхронизации необходимо удалить текущие настройки и записать необходимые, то есть того пользователя, под именем которого будет производиться синхронизация с Диском Яндекс. Пример содержания такого файла на моей системе:
4. После этого останется только необходимость периодического удаления потерявших актуальность строк в файле пользовательских заданий. Для редактирования своего файла пользовательских заданий cron выполните команду crontab -e
Операции можно полностью автоматизировать. Как это сделать читайте после описания практических шагов в Windows или перейдите по ссылке.
Практические шаги в Windows
1. Создаётся папка, предназначенная для хранения временного контента. К данной папке устанавливается доступ либо в режиме предоставления в доступ конкретному пользователю (пользователям), либо путём создания веб-ссылки.
2. По причине того, что в Windows мне так и не удалось организовать независимую работу клиента Яндекс Диска для разных учётных записей, то единственным способом является удаление временного контента через планировщик Windows.
Для этого можно создавать файлы bat, которые и будут запускаться по расписанию. Примеры таких файлов bat приведены ниже.
Для удаления файла:
@echo off
del C:\Users\spinner\YandexDisk\video.mp4 /q
timeout /t 1 /nobreak
exit
Для удаления папки:
@echo off
rd "C:\Users\spinner\YandexDisk\Shared\Folder" /s /q
timeout /t 1 /nobreak
exit
При использовании имён, содержащих пробелы, используются кавычки:
@echo off
del "C:\Users\spinner\YandexDisk\Shared\Моё видео.mp4" /q
timeout /t 1 /nobreak
exit
@echo off
rd "C:\Users\spinner\YandexDisk\Shared\Моя папка" /s /q
timeout /t 1 /nobreak
exit
Команды timeout /t 1 /nobreak и exit соответствуют "заснуть на 1 секунду" и "завершить работу файла bat". Хотя можно обойтись и без timeout /t 1 /nobreak.
Полная автоматизация в Linux
Следует отметить, что описанная выше реализация лично для меня представилась не совсем удобной. Так, после назначения задания на удаление через Thunar требовалось вызывать на редактирование файл пользовательских заданий cron и добавлять кратковременный запуск демона Диска Яндекс.
Во-первых, когда на временный доступ назначается много контента, то внесение изменений в пользовательское задание cron (добавление данных и удаление данных, потерявших актуальность) превращается в деятельность "процесс ради процесса". А во-вторых, – как быть в случае, если синхронизация с Диском Яндекс не запущена (запускается вручную) или производится с использованием независимых учётных записей (несколько Дисков Яндекс на компьютере)?
1. Автоматизация процесса удаления данных.
Для автоматизации процесса потребуется много поработать с клавиатурой. Хотя это и "тоскливо", но утешением будет служить то, что это будет сделано только 1 раз.
Эта задача решается просто. В каталоге временных данных создаются каталоги, соответствующие числу месяца, до которого предоставляемые в доступ данные будут доступны. Например, 01, 05, 14, 28, 31. В эти каталоги заранее записываются данные и в дальнейшем синхронизируются с соответствующими папками облака Диска Яндекс.
Для осуществления операции удаления пишется 31 исполняемый файл задания. Примеры:
~/Yandex/Shared/14 – путь к проверяемому каталогу Диска Яндекс. Сам проверяемый каталог 14 расположен в каталоге временных данных Shared, предоставленный в общий доступ. Знак ~/ соответствует расположению "в домашнем каталоге пользователя".
Проверяется наличие указанного выше каталога на диске. Если он существует, то производится его удаление вместе со всем содержимым (файлы и вложенные каталоги) без необходимости подтверждения, даже и в том случае, если сам каталог не содержит никаких данных.
Если такого каталога не существует, то задание "засыпает" на 1 секунду (sleep 1), после чего будет инициирован процесс завершения работы задания.
В каталог с номером помещаются те данные, которые должны быть удалены тем числом месяца, которое совпадает с номером каталога.
Если данные представляются из себя контент очень большого объёма, то имеет смысл сначала его синхронизировать с другим каталогом, а уже затем перекладывать в выбранный каталог. Это объясняется тем, чтобы избежать недоразумений, если Вы уведомите о наличии контента, а сам контент не успеет синхронизироваться с Диском Яндекс.
2. Создание исполняемого файла, осуществляющего запуск демона синхронизации Диска Яндекс и его последующую остановку (см. п.3 выше). Если у Вас демон синхронизации запускается в процессе старта системы и работает постоянно, то в создании файла нет необходимости.
3. Внесение заданий в cron.
Здесь тоже придётся поработать, но сделать только 1 раз.
Создать задание на запуск демона Яндекс Диска для каждой даты.
Создать задание на запуск процедуры удаления файла для каждой даты.
Например, 14 и 31 числа каждого месяца в 22:24 запускается демон Яндекс Диска, а в 22:25 производится удаление соответствующего каталога.
24 22 14 * * /home/cemea/Tools/configs/Yandex/demon.sh
25 22 14 * * /home/cemea/Tools/configs/Delete/del14
24 22 31 * * /home/cemea/Tools/configs/Yandex/demon.sh
25 22 31 * * /home/cemea/Tools/configs/Delete/del31
Если применяется синхронизация с Яндекс Диском для нескольких учётных записей, то дополнительно создаётся задание на проверку наличия запущенного Диска.Яндекс (demoncheck.sh). Если он запущен, то выдаётся команда на его остановку (yandex-disk stop). Проверка планируется за 1 минуту до запуcка синхронизации под необходимой учётной записью. Например:
23 22 14 * * /home/cemea/Tools/configs/Yandex/demoncheck.sh
24 22 14 * * /home/cemea/Tools/configs/Yandex/demon.sh
25 22 14 * * /home/cemea/Tools/configs/Delete/del14
23 22 31 * * /home/cemea/Tools/configs/Yandex/demoncheck.sh
24 22 31 * * /home/cemea/Tools/configs/Yandex/demon.sh
25 22 31 * * /home/cemea/Tools/configs/Delete/del31
Задание проверки наличия запущенного демона Диска Яндекс.
В процессе работы демона Диска Яндекс в каталоге /temp в наличии имеется каталог с длинным именем yandex-disk-.
В частности, для различных учётных записей у меня создавались каталоги:
yandex-disk-24adc70426bc.
yandex-disk-7b990dc3d61d.
yandex-disk-e0b822b1c9f6.
При остановке демона Диска Яндекс такие каталоги автоматически удалялись системой.
Задание проверяет существование в каталоге /temp каталога, в имени которого присутствует yandex-disk- . Если такой каталог существует, будет выдана команда остановки демона Диска Яндекс. Если такой каталог отсутствует, то задание на 1 секунду "заснёт", а потом будет осуществлено завершение его работы.
Возникла необходимость Останавливать и Запускать синхронизацию папки. Но каждый раз нажимать кнопочку в Яндекс.Диске, неудобно.
Вопрос, каким образом прогаммно это можно реализовать. В документации по АПИ, информацию не нашел. Или попробовать другое ПО? Какое?
Для чего это нужно: на диске лежат файлы БД, и при работе с базой возникают ошибки доступа к файлу, невозможность синхронизировать, коллизии и тд. Как вариант решения остановка синхронизации при начале работы с БД, и запуск синхронизации после окончания.
Один из вариантов решения, убивать процесс из системы и запускать заново после работы с БД, но тогда возникает следующий вопрос, как узнать статус Яндекс.Диска (Синхронизирован/Идет синхронизация), чтоб не нарушить целосность файлов, при убийстве процесса в неподходящий момент времени.
Вышел из ситуации, порсредством бекапа на Я.Диск, без синхронизации в реальном вркмени, поскольку одновременно с данными работает 1 пользователь.
Вырубить Яндекс.Диск на всегда. Работать с БД как обычно.
Подключить Яндекс.Диск через WebDav
Повесить задачу cron/планировщик/руками для копирования файлов БД через WebDav( в windows это сетевой диск будет)
Минус: потеря в скорости синхронизации. Не понятен момент начала синхронизации. БД лучше останавливать. Не хватает входных переменных: какая БД? зачем такая синхронизация? Это Бекап такой?)
Думал в этом направлении, но скорость критична. БД MySQL, файлы БД лежат в папке, которая синхронизируется приложением Яндекс.Диск, синхронизация должна запускаться после завршения работы приложения, тоесть БД уже будет остановлена.
Необходимость такой синхронизации, что при смене компьютера, получаешь актуальные данные из БД.
Есть обходное решение, типа после окончания работы БД, копировать локальную копию, в папку синхронизированную с Я.диском, но не хотелось бы такое использовать.
Согласен, но проект не коммерческий, да и в базе будут данные которыми "жалко делиться", а я не обладаю достаточными знаниями, чтобы обеспечить безопасность данных.
Выбрать прокси-сервер
Настроить после установки
Автоматическое обновление
Читайте также: