Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
AD-Control-Golang
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
陶腾飞
AD-Control-Golang
Commits
27a73c30
Commit
27a73c30
authored
Jul 09, 2020
by
陶腾飞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
v1.1.2 优化备份策略
parent
06c70f85
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
46 additions
and
30 deletions
+46
-30
adct/adct.go
+3
-0
public/env.go
+2
-2
public/msg_deal.go
+30
-24
public/msg_init.go
+1
-1
public/public.go
+1
-1
public/user.go
+9
-2
No files found.
adct/adct.go
View file @
27a73c30
...
...
@@ -48,6 +48,7 @@ func flag_report(s *string){
chmod
:=
"cacls "
+
pub
.
Dir_DCSave
+
`\`
+
pub
.
TrimPrefix
(
pub
.
Dir_userprofile
,
`C:\Users\`
)
+
` /T /G `
+
pub
.
User_name
+
":F"
pub
.
PntInfo
(
chmod
)
pub
.
Execcmd_wait
(
chmod
)
pub
.
Execcmd_nowait
(
pub
.
Msg_Exec_TurnOffPC_cmd
)
}
...
...
@@ -68,7 +69,9 @@ func flag_hour(){
switch
nh
{
case
0
:
if
pub
.
RunAsUser
(
pub
.
User_name
)
&&
pub
.
IsPrimaryUser
(
pub
.
User_name
){
pub
.
SendServerReport
(
pub
.
Msg_Report_StartBak
)
}
break
default
:
pub
.
Execcmd_nowait
(
`即将关机,如需取消,点击小工具-电源管理-取消自动关机 或运行Z:\tools\【工具】取消关机.bat`
)
...
...
public/env.go
View file @
27a73c30
...
...
@@ -9,7 +9,7 @@ const DaemonListen string = ":" + DaemonPort
const
ADServerDaemon
string
=
Host_adserver
+
DaemonListen
var
LocalDaemon
string
=
User_computername
+
DaemonListen
const
RandMax
int
=
60
const
Version
string
=
"1.1.
1
"
const
Version
string
=
"1.1.
2
"
// user //
...
...
@@ -73,7 +73,7 @@ const App_Sync_dir string = `C:\Progra~1\zhiwei\AllWay_Sync\Bin\syncappw.exe
// backup //
var
Bak_Version
string
=
"0
622
"
var
Bak_Version
string
=
"0
709
"
// reg info //
...
...
public/msg_deal.go
View file @
27a73c30
...
...
@@ -61,34 +61,41 @@ func (rep *MJreport)Msg_Deal() interface{} {
switch
rep
.
Instruction
{
case
Msg_Report_StartBak
:
isbak
:=
false
time
:=
rep
.
Reg_Query_AC
(
Reg_Name_BackupOverTime
)
// 通常是第一次备份
if
time
==
""
{
isbak
=
true
}
else
if
s
,
err
:=
ParseTime
(
time
);
err
!=
nil
{
isbak
=
false
PntError
(
err
)
}
else
{
// 下班点之后吗?
if
s
.
Hour
()
>=
15
{
isbak
=
true
}
else
{
isbak
=
false
}
if
!
IsPrimaryUser
(
rep
.
Username
)
||
RunAsPC
(
rep
.
Username
){
return
nil
}
if
isbak
{
// isbak := false
// time:= rep.Reg_Query_AC(Reg_Name_BackupOverTime)
// // 第一次备份
// if time == "" {
// isbak= true
// } else if s,err := ParseTime(time);err !=nil{
// isbak= false
// PntError(err)
// // 第N次备份
// } else {
// // 下班点之后吗?
// if s.Hour() >= 15{
// isbak= true
// }else {
// isbak= false
// }
// }
// if isbak {
// }else{
// return GJexecAck(Msg_Exec_TurnOffPC)
// }
return
GJbackup
()
}
else
{
return
GJexecAck
(
Msg_Exec_TurnOffPC
)
}
case
Msg_Report_OverBak
:
rep
.
Reg_Write_AC
(
Reg_Name_BackupOverTime
,
UnixTimeParse
(
&
rep
.
Timestamp
))
rep
.
Pskill
(
App_Sync
)
SysMsgBox
(
rep
.
Computername
,
`即将关机,如需取消关机,运行Z:\tools\【工具】取消关机.bat或在小工具-电源管理-取消自动关机`
)
SysMsgBox
(
rep
.
Computername
,
`
备份完成,
即将关机,如需取消关机,运行Z:\tools\【工具】取消关机.bat或在小工具-电源管理-取消自动关机`
)
return
GJexecAck
(
Msg_Exec_TurnOffPC
)
case
Msg_Report_WillTurnOffPC
:
...
...
@@ -235,7 +242,6 @@ func (bak * MJbackup)Msg_Deal() interface{}{
switch
bak
.
Instruction
{
case
Msg_Backup_Status_Start
:
bak
.
Timestamp
=
NowTimestamp
()
bak
.
Username
=
User_name
bak
.
Computername
=
User_computername
...
...
@@ -284,7 +290,7 @@ func (bak * MJbackup)Msg_Deal() interface{}{
bak
.
Explain
=
"Backup update config"
}
ExistFolder
(
Dir_DCSave
+
homefolder
)
ExistFolder
(
Dir_DCSave
+
`\`
+
homefolder
)
PntInfo
(
bak
.
Explain
)
SendServer
(
bak
)
return
nil
...
...
@@ -296,7 +302,7 @@ func (bak * MJbackup)Msg_Deal() interface{}{
return
bak
case
Msg_Backup_Status_Run
:
Msg
(
"开始备份用户文件,这是为了防止磁盘损坏而进行的步骤,最小化即可,有疑问@陶腾飞"
)
go
Msg
(
"开始备份用户文件,这是为了防止磁盘损坏而进行的步骤,最小化即可,有疑问@陶腾飞"
)
Execcmd_nowait_noargs
(
App_Sync_dir
)
default
:
PntErrorf
(
"%s %v"
,
bak
.
Instruction
,
Error_Not_Msg
)
...
...
public/msg_init.go
View file @
27a73c30
...
...
@@ -41,7 +41,7 @@ const Msg_Report_WillTurnOffPC string = WillTurnOffPC
const
Msg_Report_OverCopyToWeDrive
string
=
"overcopytowedrive"
const
Msg_Report_OverCopyToDeptShare
string
=
"OverCopyToDeptShare"
const
Msg_Report_StartBak
string
=
"startbak"
const
Msg_Report_OverBak
string
=
"
over
bak"
const
Msg_Report_OverBak
string
=
"
stop
bak"
const
Msg_Report_DCInfo
string
=
"DCInfo"
// msg backup type //////////////////////////////////////////////////////////////
...
...
public/public.go
View file @
27a73c30
...
...
@@ -144,7 +144,7 @@ func AutoGetWeDriveDir() (string,error) {
}
func
AutoFillInWeDriveDir
()
{
if
HostAsUser
(
){
Exit
()
}
if
RunAsUser
(
User_name
){
Exit
()
}
d
:=
Reg_Query_DC
(
Reg_Name_WeDriveDir
)
if
d
==
""
||
NotExist
(
d
){
...
...
public/user.go
View file @
27a73c30
...
...
@@ -59,8 +59,15 @@ func TheUser(s string)bool{
if
s
==
User_name
||
AdminUser
(
&
s
)
{
return
true
}
return
false
}
func
HostAsUser
()
bool
{
if
User_name
[
len
(
User_name
)
-
1
]
==
'$'
{
func
RunAsUser
(
s
string
)
bool
{
if
s
[
len
(
s
)
-
1
]
!=
'$'
{
return
true
}
else
{
return
false
}
}
func
RunAsPC
(
s
string
)
bool
{
if
s
[
len
(
s
)
-
1
]
==
'$'
{
return
true
}
else
{
return
false
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment