Я использую Truecrypt для обеспечения моих данных и обязан использовать Dropbox для некоторого совместного доступа к файлам. Я настроил свою папку Dropbox на Truecrypt, монтируются.
Когда я вхожу в систему броски Dropbox ошибка, потому что папка Dropbox еще не существует. Я затем должен смонтировать папку и перезапустить Dropbox.
Есть ли любой способ, которым я могу написать сценарий следующего:
Я должен был сделать что-то весьма схожее. Вот то, что я закончил тем, что делал:
имейте автоматический запуск Ubuntu следующий сценарий:
#!/bin/bash
#First let's check DB isn't running, you never know
test "`dropbox status | awk '{print $2}'`" == "isn't" || exit;
#mount private
truecrypt --mount #you may optionally indicate which container you wish to mount
#wait for truecrypt
while test ! -d /media/truecrypt1/Dropbox
do
sleep 1
done;
#start DB
dropbox start
Можно добавить сценарий для задержки Dropbox от запуска - ссылка на вопрос о форуме Dropbox с ответом здесь
iwatch является инструментом командной строки, чтобы позволить Вам контролировать и отвечать на события файловой системы с помощью inotify подсистемы. Я не уверен, какое событие было бы лучшим, но я предположу, что некоторое событие файловой системы имеет место, когда файловая система смонтирована.
Возможно, можно проанализировать к выводу df, чтобы обнаружить, смонтирован ли объем. Мое нечто Bash довольно слабо, таким образом, вот сценарий Python, который должен сделать это:
#! /usr/bin/python
# *-*coding=utf-8*-*
"""Try to start dropbox after some volume is mounted"""
import os
import time
MOUNT_POINT = "/home/javier/Private"
mounted = False
while not mounted:
f = os.popen("df")
for line in f:
if MOUNT_POINT in line:
mounted = True
f.close()
if not mounted:
time.sleep(3000)
os.system('dropbox start')
Необходимо изменить MOUNT_POINT на что-либо, что df произведет только, когда объем будет смонтирован.
Я добавляю больше pythonic способа сделать его, но тяжелее к порту для избиения и менее гибкий этому будет нужна реальная точка монтирования.
#! /usr/bin/python
# *-*coding=utf-8*-*
"""Try to start dropbox after some volume is mounted"""
import os
import time
MOUNT_POINT = "/home/javier/Private"
mounted = False
while not mounted:
if os.path.ismount(MOUNT_POINT):
mounted = True
else:
time.sleep(3000)
os.system('dropbox start')
Сценарий должен быть чем-то вроде этого:
Во-первых, создайте его в своем доме. Добавленный точка в beggining, таким образом, это будет скрытый файл:
gedit .dropboxdelayed
Затем вставьте эту внутреннюю часть:
#!/bin/sh
#dropboxdelayed()
sleep 20 &&
dropbox start -i &
20 число секунд задержки, не знайте, сколько делает truecrypt для монтирования зашифрованных данных, таким образом, необходимо попробовать его и адаптировать число.
Дайте ему разрешение работать:
chmod +x .dropboxdelayed
И создайте запись, указывающую на него в Системе> приложения Запуска (не забудьте отключать другую запись Dropbox там, или Вы будете выполнять два экземпляра его одновременно).
Свист это помогает.
Вы могли попробовать следующий сценарий пакетной обработки. Я использую это в некоторых моих собственных сценариях, которые требуют некоторых частей, я остаюсь в рамках truecrypt контейнера. Просто бросьте следующее в .bat файл. Необходимо будет обновить часть кода в зависимости от того, где Вы храните свои файлы и что нет.
@echo off
IF EXIST "Z:\" (goto startDropBox)
"C:\Path\To\Truecrypt\truecrypt.exe" /v C:\Path\To\Truecrypt\Volume /lz /a /q
:startDropBox
C:\Path\To\DropBox\Executable\Dropbox.exe
Код предполагает, что Вы всегда монтируете свой объем на диске Z. На основе моего опыта код должен зависнуть в экране входа в систему truecrypt прежде, чем продолжиться к следующей части (выполняющий исполняемый файл Dropbox).
Для выполнения этого при запуске Вы могли попытаться заменить ярлык Dropbox в своей папке запуска с этим пакетным файлом, и Вы могли выполнить это вручную, если бы Вы хотели также.
Поскольку другие переключатели командной строки с Truecrypt выглядят здесь:
http://www.truecrypt.org/docs/?s=command-line-usage
Надежда, которая помогает!
Править: Просто реализованный это было форумом человечности, моим плохим! Но могло быть хорошим для блуждающих пользователей Windows, быстро скрывается