http://forcecore.tistory.com/1315
이걸 거의 그대로 함.
우분투에서 해봤다.
1. 우선 systemd 용 디렉토리를 만들어야 한다.
$ mkdir -p ~/.config/systemd/user
2. 서비스 명세서를 만들자.
btsync.service 파일을 위의 디렉토리 안에 만든다. 내용은:
[Unit]
Description=BitTorrent Sync for xxx
[Service]
ExecStart=/home/xxx/usr/btsync/btsync --nodaemon --config /home/xxx/.config/btsync/sync.conf
WorkingDirectory=/home/xxx
[Install]
WantedBy=default.target
여기서, --nodaemon 에 주의할 것! 일반 프로그램처럼 컨트롤 c를 누르면 종료되는 것이다. 꼭 넣어야 작동한다 ㅎㄷㄷㄷ [Service] 안의 내용을 각자의 상황에 맞게 잘 맞추면 된다. [Install]은 바꿀 것이 없을 것이다. [Unit]은 나중에 systemctl 에서 보일 내용이라 알아보기 좋게 적으면 된다.
설정을 만들어주자. 먼저 .config/btsync 디렉토리부터 만들고...
forcecore@mars:~/.config/btsync$ ~/usr/btsync/btsync --dump-sample-config > sync.conf
파일 수정.
"storage_path" : "/home/forcecore/.config/btsync",
3. 이제 서비스를 활성화 하자.
$ systemctl --user enable btsync
$ systemctl --user start btsync
이렇게 해주면 된다. start가 stop이 잘 먹히나 체크하자.
4. 문제는, 저 서비스가 시작되는 시점이 언제냐면, GUI든 ssh든 유저가 로그인 할 때이다. 즉, 시스템이 재시작된다고 시작되지 않는다!!! loginctl을 써야 함.
# loginctl enable-linger username
이렇게 하면 자동으로 시작해줄 것이다. 재부팅을 해가면서 테스트 해보자.