in pitr/cli/internal/pkg/local-storage.go [73:107]
func (ls *localStorage) init() error {
// root dir
fi, err := os.Stat(ls.rootDir)
if err != nil {
if os.IsNotExist(err) {
if err := os.Mkdir(ls.rootDir, 0777); err != nil {
return fmt.Errorf("create root dir failure,dir=%s,err=%s", ls.rootDir, err)
}
} else if os.IsExist(err) {
if !fi.IsDir() {
return fmt.Errorf("file has already exist,name=%s", ls.rootDir)
}
} else {
return fmt.Errorf("failed to get file info,root dir=%s,err=%s", ls.rootDir, err)
}
}
// backup dir
fi, err = os.Stat(ls.backupDir)
if err != nil {
if os.IsNotExist(err) {
if err := os.Mkdir(ls.backupDir, 0777); err != nil {
return fmt.Errorf("create backup dir failure,dir=%s,err=%s", ls.backupDir, err)
}
} else if os.IsExist(err) {
if !fi.IsDir() {
return fmt.Errorf("backup:file has already exist,name=%s", ls.backupDir)
}
} else {
return fmt.Errorf("failed to get file info,backup dir=%s,err=%s", ls.backupDir, err)
}
}
return nil
}