2017-03-27 1 views
0

질문을 공식화하는 방법을 모르지만 여기에 있습니다.FSNotify는 실행 중에 감시 디렉토리를 추가합니다.

fsnotify를 사용하여 일부 디렉토리에서 변경 사항을 확인하고 파일이 변경되면 변경 사항을 다른 디렉토리에 동기화합니다. 하지만 새로 만든 디렉토리를 시계에 추가하려고합니다. 실제로 작동하지 않습니다.

여기 내 코드입니다 :

func Watcher() { 
    watcher, err := fsnotify.NewWatcher() 
    defer watcher.Close() 

    done := make(chan bool) 
    go func() { 
     for { 
      select { 
      case event := <-watcher.Events: 

        if file.Mode().IsDir() { 
        err = os.Mkdir(dest, 0755) 
        err = watcher.Add(dest) 

      } 
     case err := <-watcher.Errors: 
      log.Println("error:", err) 
     } 
    } 
    }() 

    dirs, err := readLines("dirs") 
    for _, el := range dirs { 
     err = watcher.Add(el) 
    } 
    check(err) 
    <-done 
} 

기능은 더 이상이지만, 나는 중요하지 않은 부분을 삭제했습니다. err = watcher.Add(dest)을 제외한 모든 기능이 작동합니다.

어떻게하면 더 많은 디렉토리를 볼 수 있습니까?

답변

0

잘 작동했지만 일부 변수가 잘못되었습니다. watcher.Add(dest) 대신 watcher.Add(event.Name)이어야합니다.

관련 문제