群晖在无下载或者上传时才自动关机的脚本

[复制链接]
查看105 | 回复0 | 2024-5-25 20:51:25 | 显示全部楼层 |阅读模式

登录网站,浏览更多精彩内容

您需要 登录 才可以下载或查看,没有账号?加入我们

×
众所周知,群晖是自带有自动关机功能的,但是设置了每天自动关机的话,经常遇到下载任务没完成,或者上传流量大时候是不适合立马关机的,所以写了这个脚本,当网络流量高时候取消自动关机,让自动关机更智能些,当然这需要群晖有python和pip环境,在运行之前,请确保已经安装了psutil库。如果没有安装,可以使用pip install psutil命令进行安装。

  1. import os
  2. import time
  3. import psutil
  4. from datetime import datetime, timedelta

  5. def check_network_traffic():
  6.     net_io = psutil.net_io_counters()
  7.     bytes_sent1 = net_io.bytes_sent
  8.     bytes_recv1 = net_io.bytes_recv
  9.     time.sleep(1)
  10.     net_io = psutil.net_io_counters()
  11.     bytes_sent2 = net_io.bytes_sent
  12.     bytes_recv2 = net_io.bytes_recv
  13.     sent_speed = (bytes_sent2 - bytes_sent1) / 1024
  14.     recv_speed = (bytes_recv2 - bytes_recv1) / 1024
  15.     return sent_speed + recv_speed

  16. def schedule_shutdown():
  17.     for _ in range(10):#总共循环检测10次
  18.         network_traffic = check_network_traffic()
  19.         if network_traffic < 50:  # 设置网络流量阈值,单位KB/s
  20.             os.system('shutdown -h now')  # 关机
  21.             break
  22.         else:
  23.             print('网络流量较大,取消本次关机')
  24.             time.sleep(60)  # 等待1分钟后再次检测网络流量

  25. if __name__ == '__main__':
  26.     schedule_shutdown()
复制代码
放到服务器后,在控制面板——计划任务——执行自定义脚本中设置即可
1.png
中国领先的数字技术资源交流中心!

198

主题

36

回帖

3614

积分

达人

积分
3614
学费
3100