ssl_update.go 768 B

12345678910111213141516171819202122232425262728293031323334
  1. package cron_server
  2. import (
  3. log "github.com/sirupsen/logrus"
  4. "pmail/config"
  5. "pmail/services/setup/ssl"
  6. "pmail/signal"
  7. "time"
  8. )
  9. func Start() {
  10. for {
  11. if config.Instance.IsInit {
  12. days, err := ssl.CheckSSLCrtInfo()
  13. if days < 30 || err != nil {
  14. if err != nil {
  15. log.Errorf("SSL Check Error, Update SSL Certificate. Error Info :%+v", err)
  16. } else {
  17. log.Infof("SSL certificate remaining time is only %d days, renew SSL certificate.", days)
  18. }
  19. err = ssl.GenSSL(true)
  20. if err != nil {
  21. log.Errorf("SSL Update Error! %+v", err)
  22. }
  23. // 更新完证书,重启服务
  24. signal.RestartChan <- true
  25. } else {
  26. log.Debugf("SSL Check.")
  27. }
  28. }
  29. // 每24小时检测一次证书有效期
  30. time.Sleep(24 * time.Hour)
  31. }
  32. }