Это можно сделать двумя способами:
ulimit
или с помощью системного вызова setrlimit
(который, в свою очередь, вызывает ulimit
). ulimit
/ [ 1110] Из man 2 setrlimit
:
RLIMIT_FSIZE
The maximum size of files that the process may create. Attempts
to extend a file beyond this limit result in delivery of a
SIGXFSZ signal. By default, this signal terminates a process,
but a process can catch this signal instead, in which case the
relevant system call (e.g., write(2), truncate(2)) fails with
the error EFBIG.
Я не уверен, как можно вызвать функцию setrlimit
из Java, но это Вопрос U & amp; L может помочь. В качестве альтернативы, оберните сервер Java в скрипт:
#! /bin/bash
ulimit -f 1073741824 # 1GB
java ....
Я предполагаю, что файловая система ext4 не уверена в других. Во-первых, нам нужно включить квоту в файловой системе. Отредактируйте /etc/fstab
и добавьте usrquota
к опциям монтирования соответствующего раздела. Например, если мы делаем это для /
, последняя запись будет выглядеть примерно так:
UUID=... / ext4 errors=remount-ro,usrquota 0 1
Затем включите ее после перезапуска:
sudo quotaon /
Я приду ваш сервер запущен от имени другого пользователя (скажем, restricted_user
). Если нет, создайте его, если вы не хотите, чтобы на ваши обычные процессы влияли.
Затем выполните:
sudo edquota restricted_user
, что откроет редактор.
Disk quotas for user restricted_user (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sdd1 1087940 943718 1048576 9956 0 0
Установите мягкие и жесткие ограничения для соответствующих значений (это блоки по 1024 байта, поэтому разделите свой предел на 1024). Сохраните и выйдите.
Тогда пользователь не сможет превысить общее использование 1G в этой файловой системе, считая все файлы, принадлежащие ему.
Естественно, вы все равно должны проверить размер в вашей серверной программе.
Согласно руководству пользователя ( pdf ), (по крайней мере, пока) нет встроенного графического интерфейса для Linux. Графический интерфейс для Linux основан на браузере и доступен по адресу http://localhost:8888/gui/
.
Я нашел очень полезное прохождение здесь:
Я знаю, что не пишу инструкции из поста здесь. Но в конечном итоге это было более полезным для меня, поэтому хотел поделиться.
Согласно первоначальному сопровождающему PPA tuxpoldo
, новый способ сделать это для версии (2.0+) (необходимо запустить в bash
):
sh -c "$(curl -fsSL http://debian.yeasoft.net/add-btsync-repository.sh)"
sudo apt-get update
sudo apt-get install btsync-gui
btsync-gui
Неофициальный PPA BitTorrent Sync теперь имеет пакет btsync-gui
, который добавляет GTK GUI (в дополнение к WebUI). На форуме btsync есть ветка о GUI .
По состоянию на июнь 2017 года Sync (в настоящее время принадлежит Resilio) теперь предоставляет репозитории для многих основных операционных систем Linux, включая Ubuntu, Debian, Centos, Red Hat, Fedora и т. Д.
Инструкции по установке находятся здесь , , и скопированы ниже для Ubuntu. Здесь есть руководство по использованию Sync с Linux здесь .
Создайте файл с именем /etc/apt/sources.list.d/resilio-sync.list
со следующим содержимым для регистрации репозитория Resilio:
deb http://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free
Добавьте открытый ключ с помощью следующей команды:
wget -qO - https://linux-packages.resilio.com/resilio-sync/key.asc | sudo apt-key add -
Install Sync
sudo apt-get update
sudo apt-get install resilio-sync
На странице, на которую я ссылаюсь, рассказывается, как ее запустить и как запустить ее автоматически.
По состоянию на 18 февраля 2016 года существуют официальные пакеты Ubuntu / Debian. Приведенные ниже инструкции взяты из сообщения в блоге .
sudo sh -c 'echo "deb http://linux-packages.getsync.com/btsync/deb btsync non-free" > /etc/apt/sources.list.d/btsync.list'
Рекомендуется сначала удалить любые другие сторонние репозитории, связанные с bt-sync, из /etc/apt/sources.list.d
.
Далее вам необходимо добавить наш открытый ключ, чтобы проверить пакет перед загрузкой и установкой:
wget -qO - http://linux-packages.getsync.com/btsync/key.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install btsync
Если ваша ОС использует sysvinit, upstart, управляйте синхронизацией с помощью следующих команд:
sudo service btsync (command)
где (команда) может быть start
, stop
или restart
Если ваша ОС использует systemd, используйте следующие команды для управления синхронизацией:
sudo systemctl (command) btsync
где (команда) может быть start
, stop
, enable
, disable
или status
Обратите внимание, что при установке пакета Sync это собираюсь добавить пользователя btsync
в ваш Linux и запустить под пользователем btsync
. Перед началом синхронизации позаботьтесь о разрешениях и группах.
Если вы используете Ubuntu 15.04 или более позднюю версию, вы можете запустить Sync под своей текущей учетной записью пользователя, если вы запустите его с помощью команды:
sudo systemctl --user (command) btsync
К сожалению, эта опция недоступна для 14.10 или ранее.
http:
URL с https:
ключевые работы от https, и repo находится на том же сервере, так предположил бы, что это должно работать.
– Community
13.05.2020, 03:03
Создание сценария запуска и настройка Nginx SSL для удаленного доступа
nano /etc/init.d/btsync
blockquote>#! /bin/sh # /etc/init.d/btsync # # Carry out specific functions when asked to by the system case "$1" in start) /USERACCOUNT/.btsync/btsync --config /USERACCOUNT/.btsync/btsync.conf ;; stop) killall btsync ;; *) echo "Usage: /etc/init.d/btsync {start|stop}" exit 1 ;; esac exit 0
blockquote>chmod 755 /etc/init.d/btsync update-rc.d btsync defaults
Запустите BT Sync
service btsync start
Конфигурация Nginx
/ etc / nginx / sites-enabled / btsync. xx.xxx
server { listen 80; server_name btsync.xx.xxx; rewrite ^ https://$server_name$request_uri? permanent; } server { listen 443; server_name btsync.xx.xxx; ssl on; ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem; ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key; access_log /var/log/nginx/access.log; location / { proxy_pass http://127.0.0.1:8888; } }
vi
без предупреждения? Ай!: P)
– Marcello
13.05.2020, 03:04