Страница 2 из 3

Megatools for FreeBSD

Добавлено: 2016-01-27 14:03:46
Elimelech
xM писал(а):Это штатная утилита от MEGA. К этому набору она отношения не имеет.
Ага эта штатная утилита есть под Линуксом, а freeBSD обделили- не порядок. :(
ну и как тогда автоматически синхронизировать папки между компьютером и облаком?

Megatools for FreeBSD

Добавлено: 2016-01-27 14:23:32
xM
При помощи простого шелл-скрипта.

Megatools for FreeBSD

Добавлено: 2016-01-27 14:30:10
Elimelech
xM писал(а):При помощи простого шелл-скрипта.
не подскажите какого? Нужна синхронизация в две стороны, т.е если я удаляю на компе, то чтобы удалялось на облаке
Спасибо![/quote]

Megatools for FreeBSD

Добавлено: 2016-01-27 16:16:38
xM
Elimelech писал(а): не подскажите какого?
Который вы себе сам напишете. Или кто-то вам напишет.

Megatools for FreeBSD

Добавлено: 2016-01-27 16:28:35
Elimelech
вот помогли, спасибо! Кто ж мне напишет бесплатно?

Megatools for FreeBSD

Добавлено: 2016-01-28 21:34:54
xM
undefined писал(а): примонтированную локально ФС неполучается копировать и создавать файлы стандартными средствами оболочки (например комманда cp), так и должно быть
Ответ "да".
Из man megafs
NOTE: Be aware that reading and writing files is not implemented yet. You can only manage directories and remove files.
Допилит автор, будем надеяться.

Megatools for FreeBSD

Добавлено: 2016-04-30 13:27:09
xM
В связи с добавлением новой версии в дерево портов написал немного о MEGA для новичков.

Megatools for FreeBSD

Добавлено: 2016-04-30 19:20:15
Elimelech
Я что-то не пойму, почему копируються файлы по новому несколько раз?

Ставлю команду в кронтаб:

Код: Выделить всё

*/1       *      *      *       *       root   /usr/local/bin/megacopy --local /home/elimelech/Downloads --remote /Root/foto.backup

Megatools for FreeBSD

Добавлено: 2016-04-30 21:26:16
xM
Потому что MEGA поддерживает версионность.

Отправлено спустя 8 минут 38 секунд:
Изображение

Megatools for FreeBSD

Добавлено: 2016-04-30 22:46:18
xM
Вот вам пример простого скрипта синхронизации локальной директории с облачной MEGA.

Код: Выделить всё

#!/bin/sh

LOCALDIR="/usr/local/data/backups"			# откуда
REMOTEDIR="/Root/backups"	# куда
BACKUP_TIME=`date +%c`					# дата - время
LOG="/usr/local/data/backups/mega.log"		# путь к логу

# Получить список файлов, которых нет локально...
DELETE=`megacopу --dryrun --reload --download --local $LOCALDIR --remote $REMOTEDIR | sed 's|F '$LOCALDIR'|'$REMOTEDIR'|g'`

# ...и удалить их
for i in $DELETE; do
        megarm $i
done

# Синхронизировать локальную директорию с MEGA...
SYNC=`megacopу --no-progress --local $LOCALDIR --remote $REMOTEDIR`

# ...и залогировать действия
echo "[$BACKUP_TIME] synchronization to MEGA done!" >> $LOG
echo "Files removed: $DELETE" >> $LOG
echo "Files synchronized: $SYNC" >> $LOG
echo "-----" >> $LOG

Megatools for FreeBSD

Добавлено: 2016-04-30 23:14:15
Elimelech
у меня стоит галочка пропускать одинаковые файлы, но программа что-то это не делает, а закачивает их по новой

Отправлено спустя 17 минут 28 секунд:
Чё-то не работает ваш "простой" скрипт:

Код: Выделить всё

$ sh mega.sh
: not found
: not found
: not found
mega.sh: 12: Syntax error: word unexpected

Megatools for FreeBSD

Добавлено: 2016-05-01 2:15:54
dekloper
инструментарий для работы из командной строки, это вышеупомянутый Megatools. Это позволяет использовать облако в автоматизированных процессах хранения, резервного копирования и синхронизации.
и как, простите, вы будете синхронизироваться из скрипта, если оно - вообще не блочное устройство, а непойми что..

Код: Выделить всё

df: File system /root/megatools/root does not have a block size, assuming 512.
/dev/fuse                          0        0        0   100%    /root/megatools/root
root@ws53:~/megatools # cat >> /root/megatools/root/bubu
/root/megatools/root/bubu: Invalid argument.
зачем вообще придумана команда "megafs"? если не секрет, растолкуйте, плз))

Megatools for FreeBSD

Добавлено: 2016-05-01 12:20:58
xM
dekloper писал(а): зачем вообще придумана команда "megafs"?
Это вопрос лучше задать автору. По мне так в том виде, что она есть сейчас, смысла в ней, действительно, не очень много.
dekloper писал(а): и как, простите, вы будете синхронизироваться из скрипта, если оно - вообще не блочное устройство
Пофайлово, mon ami, пофайлово.

Megatools for FreeBSD

Добавлено: 2016-05-01 12:35:21
Elimelech
ДА НЕ РАБОТАЕТ ЭТОТ СРИПТ, на 12 строчке глючиться: for i in $DELETE; do

Код: Выделить всё

#!/bin/sh

LOCALDIR="/usr/local/data/backups"         # откуда
REMOTEDIR="/Root/backups"   # куда
BACKUP_TIME=`date +%c`               # дата - время
LOG="/usr/local/data/backups/mega.log"      # путь к логу

# Получить список файлов, которых нет локально...
DELETE=`megacopу --dryrun --reload --download --local $LOCALDIR --remote $REMOTEDIR | sed 's|F '$LOCALDIR'|'$REMOTEDIR'|g'`

# ...и удалить их
for i in $DELETE; do
        megarm $i
done

# Синхронизировать локальную директорию с MEGA...
SYNC=`megacopу --no-progress --local $LOCALDIR --remote $REMOTEDIR`

# ...и залогировать действия
echo "[$BACKUP_TIME] synchronization to MEGA done!" >> $LOG
echo "Files removed: $DELETE" >> $LOG
echo "Files synchronized: $SYNC" >> $LOG
echo "-----" >> $LOG

Megatools for FreeBSD

Добавлено: 2016-05-01 12:46:09
xM
Elimelech писал(а): ДА НЕ РАБОТАЕТ ЭТОТ СРИПТ
Лапти не мои, если что.
Вот специально проверил - работает. Но кривовато.
Допиливайте как надо.
Если хотите полноценную синхронизацию, то учтите, что вам надо будет проверять уже имеющиеся в облаке файлы на факт их соответствия локальным (дата, время, размер).

Megatools for FreeBSD

Добавлено: 2016-05-01 12:51:53
Elimelech
так дайте работающий скрипт, а не обрывки

Отправлено спустя 32 секунды:
Elimelech писал(а): megarm $i
Elimelech писал(а): # ...и удалить их
for i in $DELETE; do
megarm $i
done
- это вообще не понятно откуда и куда!?

Megatools for FreeBSD

Добавлено: 2016-05-01 12:53:20
xM
Elimelech писал(а): так дайте работающий скрипт
Бог подаст.

Megatools for FreeBSD

Добавлено: 2016-05-01 12:59:37
Elimelech
амэн

Megatools for FreeBSD

Добавлено: 2016-05-01 17:15:26
xM
В качестве благотворительности по поводу окончания Пейсаха и празднования Дня трудящихся - Пасхи, дарю :-D
https://kostikov.co/post/skript-sinhron ... pki-s-mega

Megatools for FreeBSD

Добавлено: 2016-05-01 22:06:14
Elimelech
тоже самеое:

Код: Выделить всё

megasync.sh: 15: Syntax error: word unexpected
на строчку for i in $DEL; ругается
Что будем делать?

Megatools for FreeBSD

Добавлено: 2016-05-01 23:29:22
xM
Elimelech писал(а):тоже самеое:

Код: Выделить всё

megasync.sh: 15: Syntax error: word unexpected
на строчку for i in $DEL; ругается
Что будем делать?
Вам надо думать учиться. Или copy-paste качественно делать.

Megatools for FreeBSD

Добавлено: 2016-05-01 23:44:18
Elimelech
где у меня ошибка?

Код: Выделить всё

#!/bin/sh

# Syncronize local directory on MEGA cloud drive
# (c)2016 by Maxim V. Kostikov http://kostikov.co e-mail: max@kostikov.co

locdir="/home/elimelech/Downloads/soft"  # local dir
remdir="/Root/foto.backup"                      # remote dir
datetime=`date '+%Y-%m-%d %H:%M:%S'`
log="/var/log/megasync.log"                     # log location
login="elimelech07@gmail.com"                  # MEGA login name
pass="Kb34567734V1k"                             # MEGA password

# --- delete localy absent files and directories from cloud drive
DEL="megacopy --dryrun --reload --download --username $login --password $pass --local $locdir --remote $remdir 2> /dev/null | sed 's|. '$locdir'|'$remdir'|g'"
for i in $DEL;
do
        megarm --username $login --password $pass $i 2> /dev/null
done

# --- delete localy modified files from cloud drive
if [ -f $log ];
then
        # using log modification as criterion
        UPD="find $locdir -type f -newer $log | sed 's|'$locdir'|'$remdir'|g'"
        for i in $UPD;
        do
                megarm --username $login --password $pass $i 2> /dev/null
        done
fi

# --- sync local data
SYNC="megacopy --no-progress --username $login --password $pass --local $locdir --remote $remdir 2> /dev/null"

# --- write results in log
echo "$datetime synchronization to MEGA done!" >> $log
echo "Files removed:" $DEL >> $log
echo "Files modified:" $UPD >> $log
echo "Files synchronized:" $SYNC >> $log
echo "-----" >> $log

Megatools for FreeBSD

Добавлено: 2016-10-31 13:57:44
Elimelech
Вот ставил на новый ноут систему и настроил mega, так что-то в логах пишет пусто. Не хочет синхронизировать срипт. В чем может быть проблема?

Код: Выделить всё

2016-10-31 12:26:12 synchronization to MEGA done!
Files removed:
Files synchronized:
-----
2016-10-31 12:26:27 synchronization to MEGA done!
Files removed:
Files synchronized:

Megatools for FreeBSD

Добавлено: 2016-10-31 14:09:31
Neus
вам же сказали -- фря вас не любит :)

Код: Выделить всё

$ TEST="ls -l 2>/dev/null"
$ echo $TEST
ls -l 2>/dev/null
$ TEST=`ls -l 2>/dev/null`
$ echo $TEST
total 0
$ TEST="ls -l 2>/dev/null"
$ echo $TEST
ls -l 2>/dev/null
$ TEST=$(ls -l 2>/dev/null)
$ echo $TEST
total 0
Отправлено спустя 1 минуту 52 секунды:
Guest: профессор, Ваш выход! :)

Megatools for FreeBSD

Добавлено: 2016-10-31 14:14:15
xM
Elimelech писал(а): login="elimelech07@gmail.com"                  # MEGA login name
pass="Kb34567734V1k"                             # MEGA password
Спасибо! :-D