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 ...
随机推荐
- LabVIEW随笔2_毕业了
08年研究生毕业了,在原来公司的兼职也结束了,开始真正的工作生涯了. 在此,非常感恩我的导师綦院长,体谅我的困楚之处,在我的研究生学习期间给予我的宽容和照顾.不料,2014年,恩师五十有余,却突然离世 ...
- 用synchronized实现互斥锁
package seday10;/** * @author xingsir * 互斥锁 * 当使用synchronized锁定多个代码片段,并且他们指定的同步监视器对象是同一个时,那么这些代码片段之间 ...
- 密码学笔记——playfair密码
Playfair密码(Playfair cipher 或 Playfair square)一种替换密码,1854年由查尔斯·惠斯通(Charles Wheatstone)的英国人发明. 例题: 某种 ...
- Bugku-CTF之PHP_encrypt_1(ISCCCTF) [fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA=]
Day34 PHP_encrypt_1(ISCCCTF) fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA= 下载下来.zip文件
- Stylus-import
Stylus Import Disclaimer: In all places the @import is used with Stylus sheets, the @require could b ...
- 避坑之Hadoop安装伪分布式(Hadoop3.2.0/Ubuntu14.04 64位)
一.安装JDK环境(这个可以网上随意搜一篇教程了照着弄,这里不赘述) 安装成功之后 输入 输入:java -version 显示如下说明jdk安装成功(我这里是安装JDK8) 二.安装Hadoop3. ...
- 通过颜色绘制图片UIImage
+ (UIImage *)clearImageView { UIColor *color=[UIColor clearColor]; CGRect rect =CGRectMake(,,,); UIG ...
- Go语言基础之runtime包
文章引用自 Golang中runtime的使用 runtime调度器是非常有用的东西,关于runtime包几个方法: Gosched:让当前线程让出cpu以让其他线程运行,它不会挂起当前线程,因此当前 ...
- CentOS安装MySQL的步骤
1.下载 Mysql yum包 http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 下载到本地再上传到服务器,或者使用wget 直接下载 w ...
- SpringCloud全家桶学习之概览(一)
一.概览 根据百度百科的描述,微服务架构是一项在云中部署应用和服务的新技术.而SpringCloud是微服务架构思想的一个具体实现,它为开发人员提供了构建分布式系统中一些常见模式的工具(服务注册与发现 ...