Pull to refresh

Comments 36

В *nix всё ещё проще: наивный контрольный scp + коротенький shell-скрипт.
*консольный (ох уж эта автозамена на HTC Desire!)
И то верно, а сам скрипт будет лежать на трубке и вызываться при подключении к вафле.
Причём только при подключении к ssid своей домашней сети, во избежание. И дырку бы в droidwall проделывать ещё только тогда, когда…
ага, я и это заметил позже, но уже не стал исправлять ))
Пока не дочитал статью, недоумевал — «А чем FTP не угодил?». Идеологически правильное свободное решение! А еще можно сделать в скрипте проверку на наличие фтп сервера и запихнуть в планировщик, либо, переписав скрипт на shell, в cron. Чтобы при нахождении трубки в пределах видимости синхронизация наступала автоматически.
Примерный вариант сможете показать для тех, кто не силён в *nix?
Ждем. Самому писать леееень
/me действительно стыдно
Так вложите скрипт ниже и мой комментарий про lftp. И будет вам счастье.
Скорее всего, можно и на сервере организовать (не только на декстопе с фряхой) синхронизацию. Проверять по крону наличие андроида (по ip) в сети, и, если есть, то начинать выполнение скрипта.
… на сервере, если на нем есть диск, используемый как сетевой с десктопов.
Написал скрипт, который проверяем телнетом наличие Android-смартфона с включенным SwiFTP в сети, и, если последний присутствует, заливает на него все имеющиеся файлы в каталоге /root/android (заменить на свой). После заливки на ftp файлы удаляются.

# less android.sh
#!/usr/local/bin/bash

#Директория с файлами для заливки в телефон
WORKDIR="/root/android"

#Параметры FTP
FTPHOST="172.16.0.15"
FTPPORT="42521"
FTPUSER="ftp"
FTPPASS="ftp"

TELNET=$(which telnet)

cd $WORKDIR

#Проверяем доступность SwiFTP на Android'е
(
echo "quit"
) | $TELNET $FTPHOST $FTPPORT | grep Connected > /dev/null 2>&1

if [ "$?" -ne "1" ]; then
    echo "Android's ONLINE"

#Подключаемся к ftp и заливаем все файлы из WORKDIR в Android
ftp -in <<EOF
open $FTPHOST $FTPPORT
user $FTPUSER $FTPPASS
bin
mput *
close
bye
EOF

#Удаляем все файлы из директории WORKDIR
rm $WORKDIR/*

else
    echo "Android's OFFLINE"
fi

Спасибо, добавил в топик.
Работает пока только с файлами. Думаю, как реализовать копирование/создание директорий на андроиде, если в исходной папке таковые будут.
не нужно городить десятки строк бесполезного кода, для этого есть нативные решения.
Придумываете велосипед. все проще.
1) Ставим lftp
2) пишем скрипт наподобие Вашего

для синхронизации компа с смартфоном:
lftp -e 'mirror -e /photos /home/user/photos; bye;' -u login,pass 10.0.0.163:2121

для синхронизации смартфона с компом:
lftp -e 'mirror -R /home/user/music /music; bye;' -u login,pass 10.0.0.163:2121
Как раз с lftp не стал разбираться, отсюда и огород.
Спасибо.
Кстати, в зависимости от того, насколько часто будет проверяться наличие телефона в сети и каков будет объем подготовленных файлов, надо придумать, как исключить повторный запуск скрипта и начало переноса. Создать pid, возможно.
Можно, но только что опытным путем запустил параллельно 2 скрипта синхронизации, они просто синхронизировали параллельно. так что может не страшно дублирование?
Хотя pid будет более правильным путем, но стоит ли?
Если запустятся два потока одновременно, производительность копирования упадет из-за параллельного переноса >2 файлов. Конечно, это актуально только для больших файлов.
Лучше бы уж Dropbox допилили, чтобы автоматически только по Wi-Fi синхронизировался. Предложенный способ хорош, но, полагаю, что со временем он отпадет, т.к. появится какое-то встроенное решение. Примерное как было со сторонними клавиатурами (рус.) и Wi-Fi-tethering — на Froyo все это по дефолту есть.
UFO just landed and posted this here
sshfs [user@]host:[/home/user/remotedir] /home/user/localdir
Есть программа On Air, для синхронизации по wi-fi
Эта программа упомянута в топике. Она делает то же самое, что и SwiFTP: создает FTP-сервер (еще умеет WebDAV и AppleTalk). И ничего более.
Там нет никакой синхронизации, это, считайте, тот же FTP-сервер, только в браузере. Надо еще сделать, чтобы что-то оттуда автоматически забирало файлы.
Прошу прощения, вы правы.
Там разве есть авто-синхронизация?
Извините, а почему нельзя использовать rsync?
Есть такая штука, synchronet.ru, они синхронизируют все подряд, в том числе и файлы, и для андроида тоже.
Sign up to leave a comment.

Articles