func check(m *backup.Monitor, col *filedb.C) { log.Println("チェックします...") counter, err := m.Now() if err != nil { log.Panicln("バックアップに失敗しました:", err) } if counter > 0 { log.Printf(" %d個のディレクトリをアーカイブしました\n", counter) var path path col.SelectEach(func(_ int, data []byte) (bool, []byte, bool) { if err := json.Unmarshal(data, &path); err != nil { log.Println("JSONデータの読込に失敗しました。"+ "次の項目に進みます:", err) return true, data, false } path.Hash, _ = m.Paths[path.Path] newdata, err := json.Marshal(&path) if err != nil { log.Println("JSONデータの書き出しに失敗しました。"+"次の項目に進みます: ", err) return true, data, false } return true, newdata, false }) } else { log.Println(" 変更はありません") } }
func check(m *backup.Monitor, col *filedb.C) { log.Println("Checking...") counter, err := m.Now() if err != nil { log.Fatalln("failed to backup:", err) } if counter > 0 { log.Printf(" Archived %d directories\n", counter) // update hashes var path path col.SelectEach(func(_ int, data []byte) (bool, []byte, bool) { if err := json.Unmarshal(data, &path); err != nil { log.Println("failed to unmarshal data (skipping):", err) return true, data, false } path.Hash, _ = m.Paths[path.Path] newdata, err := json.Marshal(&path) if err != nil { log.Println("failed to marshal data (skipping):", err) return true, data, false } return true, newdata, false }) } else { log.Println(" No changes") } }