Преглед изворни кода

feat: project supports enabled or disabled (#32)

jeessy2 пре 3 година
родитељ
комит
842f16a3ae
4 измењених фајлова са 26 додато и 12 уклоњено
  1. 7 2
      client/backup.go
  2. 1 0
      entity/config_backup.go
  3. 2 0
      web/save.go
  4. 16 10
      web/writing.html

+ 7 - 2
client/backup.go

@@ -39,8 +39,13 @@ func RunLoop() {
 			continue
 		}
 
+		if backupConf.Enabled != 0 {
+			log.Println(backupConf.ProjectName + " 项目被停用")
+			continue
+		}
+
 		if !backupConf.CheckPeriod() {
-			log.Println(backupConf.ProjectName + "的周期值不正确")
+			log.Println(backupConf.ProjectName + " 项目的周期值不正确")
 			continue
 		}
 
@@ -88,7 +93,7 @@ func RunOnce() {
 
 // run
 func run(conf entity.Config, backupConf entity.BackupConfig) {
-	if backupConf.NotEmptyProject() {
+	if backupConf.NotEmptyProject() && backupConf.Enabled == 0 {
 		err := prepare(backupConf)
 		if err != nil {
 			log.Println(err)

+ 1 - 0
entity/config_backup.go

@@ -10,6 +10,7 @@ type BackupConfig struct {
 	Period      int    // 间隔周期(分钟)
 	Pwd         string // 密码
 	BackupType  int    // 备份类型 0 数据库备份 1 文件同步
+	Enabled     int    // 是否启用 0 启用 1 停用
 }
 
 // GetProjectPath 获得项目路径

+ 2 - 0
web/save.go

@@ -48,6 +48,7 @@ func Save(writer http.ResponseWriter, request *http.Request) {
 		startTime, _ := strconv.Atoi(forms["StartTime"][index])
 		period, _ := strconv.Atoi(forms["Period"][index])
 		backupType, _ := strconv.Atoi(forms["BackupType"][index])
+		enabled, _ := strconv.Atoi(forms["Enabled"][index])
 		conf.BackupConfig = append(
 			conf.BackupConfig,
 			entity.BackupConfig{
@@ -59,6 +60,7 @@ func Save(writer http.ResponseWriter, request *http.Request) {
 				Period:      period,
 				Pwd:         forms["Pwd"][index],
 				BackupType:  backupType,
+				Enabled:     enabled,
 			},
 		)
 	}

+ 16 - 10
web/writing.html

@@ -70,27 +70,33 @@
                     <div class="col-sm-10">
                       <textarea class="form-control" name="Command" id="Command_{{$i}}" rows="3" aria-describedby="Command_help">{{$v.Command}}</textarea>
                       <small id="Command_help" class="form-text text-muted">
-                        日期变量 #{DATE} ,下方的密码变量 #{PWD} ,下方的对象存储变量: #{Endpoint} #{AccessKey} #{SecretKey} #{BucketName}
+                        日期变量 #{DATE} ,密码变量 #{PWD} ,对象存储变量: #{Endpoint} #{AccessKey} #{SecretKey} #{BucketName}
                         <br/>例: mysqldump -h192.168.1.11 -uroot -p#{PWD} db-name > #{DATE}.sql <a target="blank" href="https://github.com/jeessy2/backup-x#备份脚本参考">备份脚本参考</a> 
                       </small>
                     </div>
                   </div>
 
                   <div class="form-group row">
-                    <label for="BackupType_{{$i}}" class="col-sm-2">备份类型</label>
+                    <label for="Pwd_{{$i}}" class="col-sm-2 col-form-label">密码变量</label>
                     <div class="col-sm-10">
-                      <select class="form-control" name="BackupType" id="BackupType_{{$i}}" value="{{$v.BackupType}}">
-                        <option value="0" {{if eq $v.BackupType 0}}selected{{end}}>备份数据库</option>
-                        <option value="1" {{if eq $v.BackupType 1}}selected{{end}}>同步文件</option>
-                      </select>
-                      <small id="BackupType_help" class="form-text text-muted">如果没有输出文件, 请选择同步文件</small>
+                      <input type="password" class="form-control" name="Pwd" id="Pwd_{{$i}}" value="{{$v.Pwd}}">
                     </div>
                   </div>
 
                   <div class="form-group row">
-                    <label for="Pwd_{{$i}}" class="col-sm-2 col-form-label">密码变量</label>
-                    <div class="col-sm-10">
-                      <input type="password" class="form-control" name="Pwd" id="Pwd_{{$i}}" value="{{$v.Pwd}}">
+                    <label for="Enabled_{{$i}}" class="col-sm-2">是否启用</label>
+                    <div class="col-sm-4">
+                      <select class="form-control" name="Enabled" id="Enabled_{{$i}}" value="{{$v.Enabled}}">
+                        <option value="0" {{if eq $v.Enabled 0}}selected{{end}}>启用</option>
+                        <option value="1" {{if eq $v.Enabled 1}}selected{{end}}>停用</option>
+                      </select>
+                    </div>
+                    <label for="BackupType_{{$i}}" class="col-sm-2">备份类型</label>
+                    <div class="col-sm-4">
+                      <select class="form-control" name="BackupType" id="BackupType_{{$i}}" value="{{$v.BackupType}}">
+                        <option value="0" {{if eq $v.BackupType 0}}selected{{end}}>备份数据库</option>
+                        <option value="1" {{if eq $v.BackupType 1}}selected{{end}}>同步文件</option>
+                      </select>
                     </div>
                   </div>