python学习 —— 获取系统运行情况信息并在Linux下设置定时运行python脚本
代码:
# -*- coding:utf-8 -*-
from psutil import * def cpu_usage_rate():
for i, j in zip(range(1, cpu_count(logical=False) + 1), cpu_percent(interval=1, percpu=True)):
print 'CPU' + str(i) + ':' + str(j) + '%' def memory_usage_rate():
vime = virtual_memory()
print 'Memory: %5s%% %6s/%s' % (
vime.percent, str(int(vime.used / 1024 / 1024)) + 'M', str(int(vime.total / 1024 / 1024)) + 'M') def get_disk_info():
print '磁盘信息:'
for i in disk_io_counters(perdisk=True).items():
print i
# Disk = namedtuple('Disk',
# 'major_number minor_number device_name read_count read_merged_count read_sections '
# 'time_spent_reading write_count write_merged_count write_sections time_spent_write io_requests '
# 'time_spent_doing_io weighted_time_spent_doing_do')
#
# with open('/proc/diskstats') as f:
# for line in f:
# if line.split()[2] == device:
# return Disk(*line.split())
# raise RuntimeError('device ({0}) not found!'.format(device)) def get_net_info():
print '网络情况:'
for i in net_io_counters(pernic=True).items():
print i def main():
print '—'*100
cpu_usage_rate()
print '\n'
memory_usage_rate()
print '\n'
get_net_info()
print '\n'
get_disk_info()
print '\n' if __name__ == '__main__':
main()
2.设置定时运行python脚本
以我的电脑安装的情况为例,我装的CentOS自带有crontab,所以不需要下载以及安装过程了,而且我的CentOS貌似不太一样,自带的不是shell命令运行环境而是bash,如果不知道自己的是什么可以使用下面命令查看:
which shell
如果提示没有的话就可能是bash,或者再输入:
which bash
接下来,直接使用命令:
crontab -e
打开编辑页面,这里我的并没有配置环境变量,自动默认打开vim,如果需要配置的话,就要找到.profile文件夹,如果是bash,则文件夹名是:.bash_profile,这样名称的文件是隐藏文件,可在文件管理界面使用Ctrl + h看见隐藏文件。然后,在其中添加如下语句即可设置为默认使用vim打开:
EDITOR=vi; export EDITOR
详见:http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html
接下来,可以先看看crontab命令的语法格式,使用命令查看
$ cat /etc/crontab
Output:

最后一行即是用法。
最后,要执行python脚本,则编辑内容可如下(需要注意的是貌似需要提前建好.log的日志文件,不然会在var/mail/user中提示找不到文件):
*/1 * * * * python /test.py >> /test.log 2>&1
对这段语法,这里有更好的解释:https://www.the5fire.com/ubuntu-crontab.html
最后,我遇到的坑应该是非常少的了,所以,不一定合适解决所有人的问题,如有遇到其他情况,还请自行多查些资料,慢慢解决。
参考资料:
1.http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html
2.https://www.the5fire.com/ubuntu-crontab.html
python学习 —— 获取系统运行情况信息并在Linux下设置定时运行python脚本的更多相关文章
- python获取系统内存占用信息的实例方法
psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要应用于系统监控, ...
- System.getProperty()获取系统的配置信息
原文地址:http://www.jsjtt.com/java/Javajichu/105.html 此处记录备用. 1. 通过System.getProperty()可以获取系统的配置信息,Syste ...
- System.getProperty()获取系统的配置信息(系统变量)
原文地址:http://www.jsjtt.com/java/Javajichu/105.html 此处记录备用. 1. 通过System.getProperty()可以获取系统的配置信息,Syste ...
- C/C++通过WMI和系统API函数获取获取系统硬件配置信息
转载:http://www.cnblogs.com/renyuan/archive/2012/12/29/2838716.html 转载:http://blog.csdn.net/jhqin/arti ...
- linux下设置计划任务执行python脚本
linux下设置计划任务执行python脚本 简介 crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自 ...
- linux下,一个运行中的程序,究竟占用了多少内存
linux下,一个运行中的程序,究竟占用了多少内存 1. 在linux下,查看一个运行中的程序, 占用了多少内存, 一般的命令有 (1). ps aux: 其中 VSZ(或VSS)列 表示,程序占用 ...
- Linux 下用 crontab 设置定时执行python 程序
Linux 下用 crontab 设置定时执行python 程序 方法/步骤 1,先大概了解crontab,/etc/crontab 就是crontab 的配置文件. crontab命令详解可以查 ...
- (转)linux下fork的运行机制
转载http://www.cnblogs.com/leoo2sk/archive/2009/12/11/talk-about-fork-in-linux.html 给出如下C程序,在linux下使用g ...
- 【Linux下进程机制】从一道面试题谈linux下fork的运行机制
今天一位朋友去一个不错的外企面试linux开发职位,面试官出了一个如下的题目: 给出如下C程序,在linux下使用gcc编译: #include "stdio.h" #includ ...
随机推荐
- 【转载】Java泛型(二)
转自:http://www.cnblogs.com/lwbqqyumidi/p/3837629.html 一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public ...
- C语言数据结构——第三章 栈和队列
三.栈和队列 栈和队列是两种重要的线性结构.从数据结构的角度来看,栈和队列也是线性表,它的特殊性在于栈和队列的基本操作是线性表操作的子集,它们的操作相对于线性表来说是受到限制的,因此,可以称其为限定性 ...
- js无缝滚动跑马灯
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Vue 实现todolist的添加删除功能
直接上代码 vm.$emit( eventName, [-args] ) 触发当前实例上的事件 可选附加参数 传给监听器回调. <style> #app{ margin: 100px; } ...
- 2020最新版idea激活教程
windows破解教程 首先下载jar包:(云盘链接发不上去,大家关注gzh"灰太狼学爪哇"回复idea获取)将其放到合适的文件夹(首选IDEA的同级目录)进行管理: 进入C盘 - ...
- IntelliJ IDEA 2017.3尚硅谷-----创建工程
- [Excel] 一些实用的函数式子
这次是用php写了一个系统 收集信息,需要身份证号作为验证,但是为了信息安全 只能在数据库里面放身份证后六位.也就是说.最终导出的Excel也是只有身份证的后六位.,, 后来我发现我本地保存的完整身份 ...
- 非分页中的上一篇下一篇sql语句如何写
上一页:where id=(select max(id) from examination where id < #{id} and class=#{class}) 下一页:where id=( ...
- Linux - bash - 小坑: IFS
1. 概述 for 循环读取文件内容时, 输出被打得稀碎 2. 场景 需求 读入文件 逐行显示 源文件 Continuous Delivery with Docker and Jenkins Jenk ...
- 【DRF版本控制】
目录 使用内置的URLPathVersioning类 使用自定义的版本控制类 "首先,我们开发的项目会有多个版本. 其次,我们的项目版本会随着更新越来越多,我们不可能因出了新版本就不维护旧版 ...