Заставьте крон зарегистрировать rsync, только если была передача

Если Вы просто хотите получить доступ к серверу как клиент затем, необходимо установить Studio управления SQL Server на ноутбуке и соединениях регистра с различными серверными компонентами на сервере. Вы не должны устанавливать полный комплект SQL Server, просто студия управления.

1
задан 16 August 2012 в 12:18
4 ответа

Хорошо, я написал гениальный сценарий оболочки для фильтрации бессмысленного спама, исходящего от rsync при пустых передачах. Если вы знаете лучший способ его обнаружения, укажите свой ответ.

#!/bin/sh

LOG=$HOME/18/sync.log
TMP=$HOME/18/temp.log
SRC=user@r18:~/assets
DST=$HOME/18

echo >> $TMP
date >> $TMP
rsync -az $SRC $DST --log-file=$TMP --log-file-format='%10l %n%L'
[ `cat $TMP | wc -l` != 4 ] && cat $TMP >> $LOG
rm $TMP
1
ответ дан 3 December 2019 в 17:54

Пожалуйста, проверьте rsync --log-file-format и - -log-файл переключатели. Формат файла журнала по умолчанию добавляет 2 строки в файл журнала, даже если ничего не передается, но, пожалуйста, проверьте руководство. Возможно, если вы измените формат журнала, добавятся только записи с перенесенными файлами.

1
ответ дан 3 December 2019 в 17:54

Лучше использовать Watcher для запуска rsync при каждом изменении файла. Он основан на incron , но может рекурсивно отслеживать каталоги.

$ git clonet git://github.com/splitbrain/Watcher.git
$ cd Watcher
$ cp watcher.ini ~/.watcher.ini

~ / .watcher.ini

[DEFAULT]
logfile=/tmp/watcher.log
pidfile=/tmp/watcher.pid
[job1]
watch=/home/quanta/x
events=create,delete
recursive=true
autoadd=true
command=rsync -vaz quanta@localhost:~/x ~/y --log-file=/home/quanta/rsync.log

Запуск демона:

$ ./watcher start
$ ps -ef | grep [w]atcher
quanta    3695     1  0 17:01 ?        00:00:00 /usr/bin/python2.7 ./watcher.py restart

rsync.log

2012/08/16 17:01:42 [3710] receiving file list
2012/08/16 17:01:42 [3724] .d..t...... x/
2012/08/16 17:01:42 [3724] >f.st...... x/a.txt
2012/08/16 17:01:42 [3724] sent 42 bytes  received 180 bytes  444.00 bytes/sec
2012/08/16 17:01:42 [3724] total size is 45  speedup is 0.20
2012/08/16 17:01:42 [3731] receiving file list
2012/08/16 17:01:42 [3745] sent 14 bytes  received 103 bytes  234.00 bytes/sec
2012/08/16 17:01:42 [3745] total size is 45  speedup is 0.38
2012/08/16 17:01:42 [3752] receiving file list
2012/08/16 17:01:42 [3766] sent 14 bytes  received 103 bytes  234.00 bytes/sec
2012/08/16 17:01:42 [3766] total size is 45  speedup is 0.38
2012/08/16 17:01:42 [3773] receiving file list
2012/08/16 17:01:42 [3787] sent 14 bytes  received 103 bytes  234.00 bytes/sec
2012/08/16 17:01:42 [3787] total size is 45  speedup is 0.38
0
ответ дан 3 December 2019 в 17:54

Не используйте опцию -v в rsync, вместо этого используйте --out-format:

rsync --out-format="%n%L" -az user@r18:~/assets ~/18 >> ~/18/rsync.log 2>&1

Будет выводиться только когда вы передаете файлы, и не будет выводиться, когда вы этого не делаете. Чтобы получить более причудливый вывод, посмотрите на man-страницу rsync.conf, в разделе "формат лога".

.
2
ответ дан 3 December 2019 в 17:54

Теги

Похожие вопросы