DropBox 동기화 대상에서 제외



DropBox는 지정한 디렉토리 내의 데이터를 클라우드에 저장해주는 편리한 서비스입니다만, 저장하지 않아도 좋은 파일까지 저장되면 곤란한 장면이 있습니다.

표준 기능으로서 「선택형 동기」기능이 있습니다만, 이것으로 지정한 제외 대상은, 동기 되지 않습니다만, 「동기는 하고 싶지 않지만 로컬에는 보존하고 싶다」라고 할 수 없습니다.

따라서, 이하의 방법으로 동기 대상으로부터 제외하는 방법을 시도했다.

공식



Dropbox 파일 및 폴더를 무시로 설정
htps : // / lp. d 필터 p 보 x. 코 m / 쟈 jp / 훗 ぇ s ぉ l에서 rs / re s 토리 - 로 / e g nore d fu ぇ s

공식적으로 [dropbox.com と同期しない]をクリックします。이지만 Dropbox Plus (이것)에는이 항목이 없습니다.



그래서 "명령 줄에서 파일과 폴더를 "무시"로 설정"항목을 바탕으로 스크립트 파일을 만들어 설정하기로했습니다.

제외주의



이 방법은 확장 파일 속성을 사용하는 것으로, dropbox.com에 업로드하지 않는 규칙을 추가하는 것만으로 dropbox.com에 뭔가를하는 것은 아닌 것 같습니다.

설정한 기기에서만 작동하는 기능과 같기 때문에 여러 기기에서 제외하려는 경우 모든 기기에서 동일한 설정이 필요합니다.

Mac


  • 아래 스크립트 파일을 적당한 파일명(이번은 파일명의 예로서 dropbox_ignore.sh)를 설정해 보존.
  • 저장하면 다음과 같이 chmod에서 실행 권한을 부여한다. chmod 777 dropbox_ignore.sh
  • 실행하면 설치된 파일과 동일한 디렉토리에있는 스크립트에서 지정한 특정 파일 디렉토리가 dropbox 동기화에서 제외됩니다.

  • 스크립트



    Mac 버전과 Linux 버전에서 동일한 스크립트에 넣었지만 Linux 버전은 검증되지 않았습니다.
    #/bin/bash
    if [ "$(uname)" == 'Darwin' ]; then
        cd "${0%/*}"
    fi
    echo "${PWD}"
    # ここに配列で除外する項目を設定する。
    # この場合、node_modulesとignore_filesファイルもしくはフォルダが除外される。
    ignore_name=("node_modules" "ignore_files")
    
    for file in ${ignore_name[@]}
    do
        if [ -e $file ];then
            if [ "$(uname)" == 'Darwin' ]; then
                # Mac
                xattr -w com.dropbox.ignored 1 "${PWD}/${file}"
                echo "--- ${PWD}/${file}  is dropbox ignores ---"
            elif [ "$(expr substr $(uname -s) 1 5)" == 'Linux' ]; then
                # Linux (未検証)
                attr -s com.dropbox.ignored -V 1 "${PWD}/${file}"
                echo "--- ${PWD}/${file}  is dropbox ignores ---"
            fi
        fi
    done
    exit 0
    

    Windows



    Mac 버전과 기본적으로 동일한 절차이지만, 여기는 PowerShell에서 실행해야합니다.

    PowerShell에서 실행하거나 실행 파일로 실행하려면 .ps1 파일로 저장하고 실행합니다. 그러나 기본적으로 파일에서의 실행은 정책에서 금지되어 있으므로 실행할 수 있도록 설정해야 합니다.

    https://techinfoofmicrosofttech.osscons.jp/index.php? PowerShell PS1 파일 만들기 및 실행

    스크립트


    # ここに配列で除外する項目を設定する。
    # この場合、node_modulesとignore_filesファイルもしくはフォルダが除外される。
    $files = @('node_modules','ignore_files');
    
    for($i = 0; $i -lt $files.Count; $i++){
        $path = "$Pwd" + '\' + $files[$i];
        if (Test-Path "$path")
        {
            Write-Host "--- $path  is dropbox ignores ---";
            Set-Content -Path "$path"  -Stream com.dropbox.ignored -Value 1;
        }
    } 
    

    실행 결과



    실행하면 다음과 같이 아이콘이 "-"일괄 처리가됩니다.



    다시 동기화하는 방법



    대상 파일 디렉토리를 마우스 오른쪽 단추로 클릭하고 dropbox.comに同期する를 지정하면 다시 동기화가 시작됩니다.



    좋은 웹페이지 즐겨찾기