nextcloud에 파일을 업로드하고자 할 때, web interface 를 통하거나 webDAV를 사용하여 업로드 할 수 있느나, 파일의 수가 많은 경우에는 업로드 속도가 느려 시간이 오래 걸리는 것이 항상 걸림돌이었다. 그리고 ftp를 사용하면 파일을 nextcloud의 files 디렉토리로 빠르게 업로드 할 수는 있으나, 업로드 된 파일이 web interface 상에 나타나지 않아 사용에 어려움이 있었다. 그런데 이런 경우에 files DB를 update 할 수 있는 방법을 찾게되었는데, 다음을 위해 여기에 정리한다.
인터넷 검색을 통하면 관련 여러 정보를 찾아 볼 수 있지만 여기에서는 리요아빠리복 님께서 정리 하신 것을 기본으로 하였음을 밝힌다. 참고 사이트에서는 FreeNAS 에서의 사용법을 정리하였으나, 내가 사용하는 TrueNAS-core 에서도 잘 작동하는 것을 확인하였다.
-
먼저 nextcloud가 설치된 jail 내에 있는 폴더의 권한 (permissions)을 적절히 수정한다. 예를 들자면 ftp, sftp 의 사용자가 아래의 폴더에 접근해 쓸 수 있도록 권한을 변경하여 준다.
/usr/local/www/nextcloud/data
/usr/local/www/nextcloud/data /"user-id"
/usr/local/www/nextcloud/data /"user-id"/files -
그리고 본인의 편의성에 따라 ftp, sftp ... 등을 사용하여 파일을 /usr/local/www/nextcloud data/"user-id"/files 디렉토리로 옯긴다.
-
TrueNAS의 관리 페이지에서 nextcloud jail의 shell 을 구동한다.
-
shell 에서 다음의 명령을 실행한다.
$ cd /usr/local/www/nextcloud
$ su -m www -c 'php ./occ files:scan --all'만약 다음과 같은 에러가 발생하면
path is implicitly treated as a required parameter in /usr/local/www/nextcloud/apps/deck/lib/Service/ConfigService.php on line 234
Starting scan for user 1 out of 2 ("user_id")
Exception during scan: "files/cad9b86090301a45a6ba3f0081607756" ("scanner::") is locked, existing lock on file: exclusive
.
.config 파일을 아래와 같이 수정한다.
$ cd /usr/local/www/nextcloud/config
$ vi config.php마지막에
'filelocking.enabled' => false,
을 첨부하고 저장하고 "su -m www -c 'php ./occ files:scan --all' "를 다시 실행한다.
-
실행이 끝나면 권한을 변경하여 주었던 폴더의 권한을 원상복귀 시zlrh,
" 'filelocking.enabled' => false, " 를 지운다.
추가적인 내용은 "[Freenas] NEXTCLOUD 파일 스캔(파일이동)" 을 참조하기 바람.