nextcloud에서 파일 추가후 file scan 하기

By | 2024년 05월 15일

nextcloud에 파일을 업로드하고자 할 때, web interface 를 통하거나 webDAV를 사용하여 업로드 할 수 있느나, 파일의 수가 많은 경우에는 업로드 속도가 느려 시간이 오래 걸리는 것이 항상 걸림돌이었다. 그리고 ftp를 사용하면 파일을 nextcloud의 files 디렉토리로 빠르게 업로드 할 수는 있으나, 업로드 된 파일이 web interface 상에 나타나지 않아 사용에 어려움이 있었다. 그런데 이런 경우에 files DB를 update 할 수 있는 방법을 찾게되었는데, 다음을 위해 여기에 정리한다.

인터넷 검색을 통하면 관련 여러 정보를 찾아 볼 수 있지만 여기에서는 리요아빠리복 님께서 정리 하신 것을 기본으로 하였음을 밝힌다. 참고 사이트에서는 FreeNAS 에서의 사용법을 정리하였으나, 내가 사용하는 TrueNAS-core 에서도 잘 작동하는 것을 확인하였다.

  1. 먼저 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

  2. 그리고 본인의 편의성에 따라 ftp, sftp ... 등을 사용하여 파일을 /usr/local/www/nextcloud data/"user-id"/files 디렉토리로 옯긴다.

  3. TrueNAS의 관리 페이지에서 nextcloud jail의 shell 을 구동한다.

  1. 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' "를 다시 실행한다.

  2. 실행이 끝나면 권한을 변경하여 주었던 폴더의 권한을 원상복귀 시zlrh,
    " 'filelocking.enabled' => false, " 를 지운다.

추가적인 내용은 "[Freenas] NEXTCLOUD 파일 스캔(파일이동)" 을 참조하기 바람.

답글 남기기