Ага эта штатная утилита есть под Линуксом, а freeBSD обделили- не порядок.xM писал(а):Это штатная утилита от MEGA. К этому набору она отношения не имеет.
ну и как тогда автоматически синхронизировать папки между компьютером и облаком?
Ага эта штатная утилита есть под Линуксом, а freeBSD обделили- не порядок.xM писал(а):Это штатная утилита от MEGA. К этому набору она отношения не имеет.
не подскажите какого? Нужна синхронизация в две стороны, т.е если я удаляю на компе, то чтобы удалялось на облакеxM писал(а):При помощи простого шелл-скрипта.
Ответ "да".
Допилит автор, будем надеяться.NOTE: Be aware that reading and writing files is not implemented yet. You can only manage directories and remove files.
Код: Выделить всё
*/1 * * * * root /usr/local/bin/megacopy --local /home/elimelech/Downloads --remote /Root/foto.backup
Код: Выделить всё
#!/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
Код: Выделить всё
$ sh mega.sh
: not found
: not found
: not found
mega.sh: 12: Syntax error: word unexpected
и как, простите, вы будете синхронизироваться из скрипта, если оно - вообще не блочное устройство, а непойми что..инструментарий для работы из командной строки, это вышеупомянутый 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.
Это вопрос лучше задать автору. По мне так в том виде, что она есть сейчас, смысла в ней, действительно, не очень много.
Пофайлово, mon ami, пофайлово.
Код: Выделить всё
#!/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
Лапти не мои, если что.
- это вообще не понятно откуда и куда!?
Код: Выделить всё
megasync.sh: 15: Syntax error: word unexpected
Вам надо думать учиться. Или copy-paste качественно делать.Elimelech писал(а):тоже самеое:на строчку for i in $DEL; ругаетсяКод: Выделить всё
megasync.sh: 15: Syntax error: word unexpected
Что будем делать?
Код: Выделить всё
#!/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
Код: Выделить всё
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:
Код: Выделить всё
$ 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
Спасибо!Elimelech писал(а): login="elimelech07@gmail.com" # MEGA login name
pass="Kb34567734V1k" # MEGA password