@@ -156,18 +156,31 @@ func (u *UpgradeService) Upgrade(req dto.Upgrade) error {
156156
157157 global .LOG .Info ("backup original data successful, now start to upgrade!" )
158158
159- if err := files .CopyItem (false , true , path .Join (tmpDir , "1panel-core" ), "/usr/local/bin" ); err != nil {
159+ if err := files .CopyItem (false , true , path .Join (tmpDir , "1panel-core" ), "/usr/local/bin/1panel-core.tmp " ); err != nil {
160160 global .LOG .Errorf ("upgrade 1panel-core failed, err: %v" , err )
161161 _ = settingRepo .Update ("SystemStatus" , "Free" )
162162 u .handleRollback (originalDir , 1 )
163163 return
164164 }
165- if err := files .CopyItem (false , true , path .Join (tmpDir , "1panel-agent" ), "/usr/local/bin" ); err != nil {
165+ if err := files .RenameFile ("/usr/local/bin/1panel-core.tmp" , "/usr/local/bin/1panel-core" ); err != nil {
166+ global .LOG .Errorf ("rename 1panel-core failed, err: %v" , err )
167+ _ = settingRepo .Update ("SystemStatus" , "Free" )
168+ u .handleRollback (originalDir , 1 )
169+ return
170+ }
171+
172+ if err := files .CopyItem (false , true , path .Join (tmpDir , "1panel-agent" ), "/usr/local/bin/1panel-agent.tmp" ); err != nil {
166173 global .LOG .Errorf ("upgrade 1panel-agent failed, err: %v" , err )
167174 _ = settingRepo .Update ("SystemStatus" , "Free" )
168175 u .handleRollback (originalDir , 1 )
169176 return
170177 }
178+ if err := files .RenameFile ("/usr/local/bin/1panel-agent.tmp" , "/usr/local/bin/1panel-agent" ); err != nil {
179+ global .LOG .Errorf ("rename 1panel-agent failed, err: %v" , err )
180+ _ = settingRepo .Update ("SystemStatus" , "Free" )
181+ u .handleRollback (originalDir , 1 )
182+ return
183+ }
171184
172185 if err := files .CopyItem (false , true , path .Join (tmpDir , "1pctl" ), "/usr/local/bin" ); err != nil {
173186 global .LOG .Errorf ("upgrade 1pctl failed, err: %v" , err )
0 commit comments