Linux-上级任务4

Linux-上级任务4
Linux-上级任务4

(注:每次上机时交上一次的上机任务报告)

上机任务4(完成时间:2013年x月x日)

题目1:

编写函数,实现以下功能:

1.将文件data1的内容读出;

2.去除掉杂质(不是构成数字的符号),将这些字符转换为数字;

3.将整型数据输出并求和;

4.将浮点型数据输出并求和。

4.1.c源码:

#include

#include

#include

#include

#define MAX_NUM 20

void get_sum(char* filename);

void sum(int count_word);

void init_power();

int is_number(char ch);

int is_integer(double );

char str[MAX_NUM][MAX_NUM];

long long result1=0;// int的求和

double result2=0; // double的求和

double result[MAX_NUM];

double judge_power(double,char*);

char power[5]; // 用于存储科学技术法的幂int main()

{

get_sum("data1");

return 0;

}

void get_sum(char* filename)

{

FILE* fp;

char ch;

int index=0;

int i=0;

int j=0;

int flag_power=0; // 是否是指数形式

int flag_dot=0; // 是否是小数形式

if((fp=fopen(filename,"r"))==NULL)

{

printf("cannot open the file!");

exit(0);

}

init_power();

while(!feof(fp))

{

ch=fgetc(fp);

if(ch!=' ' && ch!='\n')

{

if((ch=='E' || ch=='e') && i>0) flag_power=1;

if(flag_power)

{

if(ch!='E' && ch!='e')

power[j++]=ch;

}

else if( is_number(ch))

{

str[index][i++]=ch;

}

}

else

{

str[index][i]='\0';

result[index]=atof(str[index]);

power[j]='\0';

if(flag_power)

{

result[index]=judge_power(result[index],power);

}

index++;

flag_power=0;

flag_dot=0;

init_power();

j=0;

i=0;

}

}

sum(index);

fclose(fp);

}

int is_number(char ch)

{

if((ch<='9' && ch>='0') || ch=='-' || ch=='.')return 1;

return 0;

}

double judge_power(double origin_num,char* power) {

int a=atoi(power);

int i;

if(a>0)

{

for(i=0;i

origin_num*=10;

}

else

{

for(i=0;i

origin_num/=10;

}

return origin_num;

}

void init_power()

{

int i;

for(i=0;i<5;i++)

power[i]='\0';

}

int is_integer(double num)

{

long long positive=(long long )num;

if(fabs((double)positive-num)<1e-6)return 1;

return 0;

}

void sum(int count_word)

{

int i;

for(i=0;i

{

if(is_integer(result[i]))

{

printf("%lld \n",(long long)result[i]);

result1+=(long long )result[i];

}

else

{

printf("%f \n",result[i]);

result2+=result[i];

}

}

printf("the sum of integer is:%lld \n",result1);

printf("the sum of double is:%.3f\n",result2); }

题目2:

编写函数,实现以下功能:

1.建立pick-up.c文件,用C语言编写函数实现:

(1)将文件file的内容读出.

(2)将file中的内容进行提取,能够构成数字(包括整型和浮点)的提取出来放入file.data文件中(如果file.data不存在,则建立,数字以空格分开),将其余的字符(不包括空格)提取出来放入file.string文件中.

Pick-up.c源码:

#include

#include

#include

#include

#define MAX_NUM 20

int is_number(char ch);

char str[MAX_NUM][MAX_NUM];

void write_file(FILE* fp,char*);

int main(int argc,char *argv[])

{

FILE* in,*out_data,*out_str;

char ch;

int index=0;

int i=0;

if(argc<1)

{

printf("cannot open the file1.");

exit(0);

}

else if((in=fopen(argv[1],"r"))==NULL)

{

printf("cannot open the file2!");

exit(0);

}

out_data=fopen("file.data","w");

out_str=fopen("file.string","w");

while(!feof(in))

{

ch=fgetc(in);

if(ch!=' ' && ch!='\n')

{

if( is_number(ch))

str[index][i++]=ch;

else

fputc(ch,out_str);

}

else

{

str[index][i]='\0';

write_file(out_data,str[index]);

index++;

i=0;

}

}

fclose(in);

fclose(out_data);

fclose(out_str);

return 0;

}

int is_number(char ch)

{

if((ch<='9'&&ch>='0')||ch=='-'||ch=='.'||ch=='E'||ch=='e') {

return 1;

}

return 0;

}

void write_file(FILE* fp,char*num)

{

int i=0;

char ch;

while((ch=num[i++])!='\0')

fputc(ch,fp);

fputc(' ',fp);

}

2.编写shell脚本param.sh,实现对pick-up.c编译,并能通过执行param.sh [参数]的形式来传递参数,作为pick-up.c中函数操作的路径,同时要在param.sh文件中更改所传递参数的文件属性(可读可写)。

param.sh 源码:

touch file.txt data.txt str.txt

chmod u+wr file.txt data.txt str.txt

gcc -o pick-up pick-up.c

chmod u+x pick-up

./pick-up $1

echo "not characters:"

cat data.txt

echo "\n\ncharacters:"

cat str.txt

echo "\n"

linux下种定时执行任务方法

(1)at命令 假如我们只是想要让特定任务运行一次,那么,这时候就要用到at监控程序了。 设置at命令很简单,指示定运行的时间,那么就会在哪个时候运行。at类似打印进程,会把任务放到/var/spool/at目录中,到指定时间运行它。at命令相当于另一个shell,运行at time命令时,它发送一个个命令,可以输入任意命令或者程序。at now + time命令可以在指示任务。 假设处理一个大型数据库,要在别人不用系统时去处理数据,比如凌晨3点10分。那么我们就应该先建立/home/kyle/do_job脚本管理数据库,计划处理/home/kyle/do_job文件中的结果。正常方式是这样启动下列命令: # at 2:05 tomorrow at>/home/kyle/do_job at> Ctrl+D AT Time中的时间表示方法 ----------------------------------------------------------------------- 时间例子说明 ----------------------------------------------------------------------- Minute at now + 5 minutes任务在5分钟后运行 Hour at now + 1 hour任务在1小时后运行 Days at now + 3 days任务在3天后运行 Weeks at now + 2 weeks任务在两周后运行 Fixed at midnight任务在午夜运行 Fixed at 10:30pm任务在晚上10点30分 注意:一定要检查一下atq的服务是否启动,有些操作系统未必是默认启动的,linux 默认为不启动,而ubuntu默认为启动的。检查是否启动,用service atd检查语法,用service atd status检查atd的状态,用service atd start启动atd服务。 查看at执行的具体内容:一般位于/var/spool/at目录下面,用vi打开,在最后一部分

Linux下定时执行脚本

Linux下定时执行脚本 今天做了个数据库的备份脚本,顺便系统得学习一下Linux下定时执行脚本的设置。Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面嘛),但是也不是非常复杂,基本上用过一遍就能记住了,关键是要记住/var/spool/cron这个目录。下面看一下具体的用法: 首先查看一下/etc/crontab文件: $ cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly 前四行是有关设置cron任务运行的环境变量。SHELL变量的值指定系统使用的SHELL环境(该样例为bash shell),PATH变量定义了执行命令的路径。Cron的输出以电子邮件的形式发给MAILTO变量定义的用户名。如果MAILTO变量定义为空字符串(MAILTO=""),电子邮件不会被发送。执行命令或脚本时HOME变量可用来设置基目录。 文件/etc/crontab中每行任务的描述格式如下: minute hour day month dayofweek command minute - 从0到59的整数 hour - 从0到23的整数 day - 从1到31的整数 (必须是指定月份的有效日期) month - 从1到12的整数 (或如Jan或Feb简写的月份)

Linux操作系统实验二

实验报告 2016 至2017 学年第二学期

1.crontab帮助信息 usage: crontab [-u user] file crontab [ -u user ] [ -i ] { -e | -l | -r } (default operation is replace, per 1003.2) -e (edit user's crontab) -l (list user's crontab) -r (delete user's crontab) -i (prompt before deleting user's crontab) 2.查看用户的计划任务列表 命令:crontal -l 如图,当前用户为cyril,还没有计划任务。 3.建立计划任务 命令:crontal –e 为当前用户建立计划任务,如果为其他用户建立计划任务需要使用-u参数指定。 执行命令后会打开一个由EDITOR变量指定的编辑器如vim,在其中写好计划任务保存后,终端回显:crontab: installing new crontab 编辑计划任务时,格式为: *****command 分时日月周命令 其中*/5 这样的格式表示“每5(分钟、小时…)”

这里我先写了一个脚本,用来在/tmp目录下创建文件,脚本内容如下: 然后创建计划任务来每隔一分钟运行这个脚本,如下图: 现在再查看一下任务列表:

查看脚本的执行情况: 如图,显示了7个由计划任务调用脚本创建的文件。20170424-16:48.txt 20170424-16:49.txt 20170424-16:50.txt 20170424-16:51.txt

单元任务书8_管理进程和计划任务

单元任务书8_管理进程和计划任务 ?任务目标: ?能够使用init进程改变系统运行级别 ?能够改变系统服务程序在各运行级别的启动状态 ?能够查看进程 ?能够管理进程 ?能够使用at设置计划任务 ?能够使用crontab设置计划任务 ??任务一:优化Linux系统中的服务 ?实验环境: 公司在文件服务器中新安装了RHEL5操作系统,由于默认启动的服务程序较多,系统运行缓慢。现需要对系统服务进行适当优化,减少一些不必要的自启动服务,并设置系统在开机后直接进入字符模式。 ?实验准备: 安装好Linux操作系统的计算机 ?需求描述 ?设置Linux系统每次开机后自动进入字符模式界面 ?使用ntsysv工具同时调整2、3、4、5运行级别中的服务状态, 关闭以下系统服务:anacron、bluetooth、hidd、ip6tables、isdn、mcstrans、mdmonitor、nfslock、portmap、restorecond、rpcgssd、rpcidmapd、sendmail、settroubleshoot、yum-updatesd ?使用chkconfig工具调整个别服务的启动状态:将cups、gpm、 vncserver服务在运行级别3中的自启动状态设为关闭;将vsftpd、sshd服务在运行级别3、5中的自启动状态设为开启,在其余运行级别中设为关闭;将saslauthd服务在运行级别2、3、5中的自启动状态设为开启 ?查看当前系统中内存等资源的使用情况,重新启动系统登录到字 符模式后,确认当前运行级别状态,再次察看系统资源的占用情况

?使用init命令切换到图形模式,再次确认运行级别并查看内存等 资源的使用情况,比较优化服务前后及在不同运行级别中的差异?主要步骤: 1、修改“/etc/inittab”文件,将默认运行级别修改为3 2、运行ntsys工具,在交互操作界面中将上述服务名称前面的 “[*]”变为“[]” 3、使用chkconfig工具,结合“--level”选项分别调整cups、 vncserver、vsftpd、sshd、saslauthd服务在指定运行级别中的自启动状态 4、使用free或top命令(输出界面的上方)查看内存等资源的 使用情况,重启到字符模式后再次查看内存等资源的占用情况,并比较前后的区别 5、切换到图形模式后,再次查看内存等资源的使用情况(资源 占用介于前两者之间) 6、在后面的操作过程中,可以选择字符模式(运行级别为3) 作为实验环境,以减少对系统资源的占用 ??任务二:管理进程并设置计划运行的任务 ?实验环境: 为了更好地了解和控制Linux服务器的有序运行,需要管理员熟悉进程管理和计划任务设置的相关操作,以完成相应的服务运行维护任务。 ?实验准备: 安装好Linux操作系统的计算机 ?需求描述 ?管理系统中的进程 ?确认vsftpd、sshd服务的启动状态,并关闭vsftpd服务 ?启动bluetooth服务,然后使用kill命令终止其运行 ?查找系统中CPU占用率超过80的进程,并强行终止该进程 ?练习各种进程管理命令的使用 ?设置计划运行的系统管理任务 ?每周一早上7:50自动清空FTP服务器公共目录

linux定时执行crontab

linux定时执行crontab 2009-11-18 作者:编辑:闫蕊点击进入论坛 关键词:linux crontab -e 进入一个vi 编辑界面 在最后一行加上 */30 * * * * netstat > /tmp/net.log 表示每隔30分就执行netstat命令,并把执行结果存入net.log中。 Crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序 使用cron服务,用service crond status 查看cron服务状态,如果没有启动则service crond start启动它, cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务: crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -l //列出某个用户cron服务的详细内容 crontab -r //删除没个用户的cron服务 crontab -e //编辑某个用户的cron服务 比如说root查看自己的cron设置:crontab -u root -l 再例如,root想删除fred的cron设置:crontab -u fred -r 在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e 进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt 编辑/etc/crontab文件,在末尾加上一行:30 5 * * * root init 6 这样就将系统配置为了每天早上5点30自动重新启动。

一种分布式系统中定时任务的解决思路和框架

一种分布式系统中定时任务的解决思路和框架 在分布式系统中,经常有周期性地执行数据采集、统计、推送等等的场景。一个业务系统的后台可能存在很多不同种类、不同粒度的周期性任务,而且它们分布在不同的服务器节点中执行。 业界比较常见的解决思路: 1. 利用linux crontab或windows计划任务定时执行一段脚本或程序; 2. 自编程序中实现定时器,定时触发相关任务的执行; 但是上述方案在碰到有大量的、不同粒度的定时任务时会碰到问题: 1. 如何解决高可用? 2. 如何支持水平扩展? 显然如果我们仅在一个服务器节点上起定时器势必形成单点。那么如果简单地在多台服务器节点上起服务呢?那么同样的任务会被执行多次,虽解决了单点问题,但一次任务被执行多次势必造成性能的浪费,且当业务压力增大时无法进行水平扩展;同时,有些业务在同一时刻不能同时执行,这涉及锁的问题。 下面给出一个比较通用的分布式系统中的定时任务的执行框架实现: 1. 将定时任务触发器进行抽象成可独立部署的分布式定时服务Jobschedular 不是抽象成程序模块,而是可独立部署的分布式定时服务。该服务通过配置可支持不同种类、针对不同对象粒度、不同执行周期的定时性计划任务。 Jobschedular根据计划任务的定义,周期性地触发针对某个对象的作业(jo b)。Jobschedular自身采用主备方式实现高可用,由于它本身只负责产生job,不负责执行job,因此不会用性能压力,没有水平扩展的需求。 2. 通过redis分布式队列分发定时作业 Jobschedular定时生成的作业统一发送到作为分布式队列角色的redis服务器中。Jobschedular和redis之间可通过LVS实现负责均衡和高可用,也可以让Jobschedular随机写入到redis集群中的任意redis节点中。 3. 一组jobexecuter负责执行job

linux下自动化任务的例子——定时播放音乐

linux下自动化任务的例子 在linux系统中实现作业的自动化是非常便利的。 比较常用的是Cron服务的crontab这个命令。 ?一个具体的任务列表 这个是学校室外广播的自动程序,只用了?一台被废弃的塞羊800的学生机,安装的系统是红旗linux,其他的linux、FreeBSD、unix或者是MacOS都可以。 将Cron设为自动运行。 chkcon?g –level 35 crond on 进入系统终端 键入: crontab -u caizhongyi -e (crontab为命令,“-u cai”是指定执行作业的系统用户为cai,“-e”使用crontab自己的vi编辑器,防止出现编码或系统环境问题造成的错误)然后在编辑器(vi编辑器)中输入如下命令: 0 7 * * 1 mpg123 -q /home/cai/guangbo/001.mp3 21 8 * * 1 mpg123 -q /home/cai/guangbo/11.mp3 21 8 * * 2 mpg123 -q /home/cai/guangbo/21.mp3 21 8 * * 3 mpg123 -q /home/cai/guangbo/31.mp3 21 8 * * 4 mpg123 -q /home/cai/guangbo/41.mp3 21 8 * * 5 mpg123 -q /home/cai/guangbo/51.mp3 16 9 * * 2 mpg123 -q /home/cai/guangbo/212.mp3 16 9 * * 3 mpg123 -q /home/cai/guangbo/312.mp3 16 9 * * 4 mpg123 -q /home/cai/guangbo/412.mp3 16 9 * * 5 mpg123 -q /home/cai/guangbo/512.mp3 25 10 * * 1 mpg123 -q /home/cai/guangbo/12.mp3 25 10 * * 2 mpg123 -q /home/cai/guangbo/22.mp3 25 10 * * 3 mpg123 -q /home/cai/guangbo/32.mp3 25 10 * * 4 mpg123 -q /home/cai/guangbo/42.mp3

Linux进程和计划任务管理实验报告

[root@localhost ~]# ps 显示当前用户会话中打开的进程 PID TTY TIME CMD 4321 pts/1 00:00:00 bash 4420 pts/1 00:00:00 ps [root@localhost ~]# ps aux 以简单列表的形式显示出所有进程信息 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 2072 664 ? Ss 15:43 0:00 init [5] root 2 0.0 0.0 0 0 ? S< 15:43 0:00 [migration/0] root 3 0.0 0.0 0 0 ? SN 15:43 0:00 [ksoftirqd/0] root 4 0.0 0.0 0 0 ? S< 15:43 0:00 [watchdog/0] root 5 0.0 0.0 0 0 ? S< 15:43 0:00 [events/0] [root@localhost ~]# ps -elf 以长格式显示系统中所有的进程信息 F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD 4 S root 1 0 0 7 5 0 - 518 - 15:43 ? 00:00:00 init 1 S root 2 1 0 -40 - - 0 migrat 15:4 3 ? 00:00:00 [mig] 1 S root 3 1 0 94 19 - 0 ksofti 15:43 ? 00:00:00 [kso] [root@localhost ~]# ps aux | grep bash 过滤出包含bash的进程信息 root 4064 0.0 0.1 6504 628 ? Ss 15:45 0:00 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "/usr/bin/dbus-launch --exit-with-session /etc/X11/xinit/Xclients" root 4321 0.0 0.4 5640 1504 pts/1 Ss 15:46 0:00 bash root 4672 0.0 0.1 5020 696 pts/1 R+ 16:01 0:00 grep bash [root@localhost ~]# top 查看进程动态信息 top - 16:04:42 up 20 min, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 120 total, 2 running, 116 sleeping, 0 stopped, 2 zombie Cpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 360884k total, 354720k used, 6164k free, 14852k buffers Swap: 1052248k total, 0k used, 1052248k free, 209276k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4230 root 20 0 39864 20m 10m S 0.0 5.9 0:00.15 puplet 4158 root 15 0 128m 20m 16m S 0.0 5.8 0:01.07 vmtoolsd [root@localhost ~]# pgrep -l "log" 查询进程名中包含log的进程及其PID号2987 syslogd 2990 klogd [root@localhost ~]# pgrep -l -U root -t tty1 查询用户root在tty1终端上运行的进程及PID号 3583 mingetty

第八章:进程管理和计划任务

第八章:进程管理和计划任务 一、进程的概念; 二、进程的管理(增、查、删); 三、计划任务的概念; 四、一次性计划任务的管理; 五、周期性计划任务的管理; 一、进程的概念; 总结:程序是保存在硬盘中的可执行代码或数据的静态集合; 进程是cpu及内存中处于动态执行状态的计算机程序; 进程由程序运行后产生,需要消耗cpu和内存,分为父子进程,子进程向父进程申请或提交; 线程:包含在进程中的一个实体,与所在的进程共用计算机资源,(单线程(串行)、多线程(并行)); 二、进程的管理:增(启动)、删(杀死或关闭)、查(显示进程) 查:查找进程ps/top/pgrep/pstree 1.语法:ps aux ##静态查看进程 RSS:物理内存,不包括swap,单位kb VSZ:虚拟内存 STAT:进程状态,R运行、S休眠、Z僵尸、s父进程、1多线程、<高优先级、N低优先级、+前台进程 2.语法:top ##动态显示进程的列表,相当于windows下的任务管理器,q退出,h帮助,k杀死。 top交互式中的基本操作: k--输入要杀死的PID--9代表强制杀死--15代表正常杀死(windows关机时有未关闭的程序时的提醒) 大写P按cpu使用情况进行将进程排序 q退出 3.补充知识:清除内存的缓存命令 echo 3 >/proc/sys/vm/drop_caches 4. pgrep命令:按条件查看进程; 语法:pgrep -l 关键字##查看包含关键字的进程 pgrep -l -u 用户名##查看该用户的进程

5.pstree命令:树形显示进程列表,显示包含其子进程; 语法:pstree -aup ##查看当前系统的进程树 pstree -ap 用户名##查看某用户的进程树 增:启动进程(举例:ping命令) 1.启动方式: 手动启动:手动执行命令进行开启进程; 调度启动:根据任务计划定时自动启动进程; 2.进程类型: 前台进程:在界面运行,必须等待结束后才能继续执行命令; 后台进程:不在操作界面运行。 3.前后台进程的管理: 启动前台进程: 启动后台进程:在运行命令后加上&,将现在运行的进程放到后台运行;例:cat /dev/zero >/dev/null & 挂起前台进程到后台:ctrl z 将正在运行的前台进程调到后台并暂停; 查看后台进程:jobs -l 恢复后台进程到前台:fg 后台进程编号(并非pid)将后台暂停的进程调到前台继续运行 删:停止进程kill/killall/pkill 1.ctrl c ##终止前台正在运行的进程 2.kill -9 PID ##强制终止单个进程 3.killall -9 进程名##强制终止此进程名称的所有有关进程 4.pkill -9 -u 用户名##针对此用户的所有进程强制终止 三、计划任务的概念: 1.概念:实现进程调度管理,在特定的时间(时间点)完成特定的任务(命令); 作用:周期性备份、定期更新系统、完成某一个特定的任务; 四、一次性计划任务管理:at 1.一次计划任务编写流程: 启动atd服务-->at(时间:例:at 00:17 2017-11-1)-->任务(命令)-->ctrl+d(提交)-->atq(查看)-->atrm 任务编号(删除) 五、周期性计划任务的管理; 1.了解crond:周期性执行命令,由crontabs软件提供系统计划任务内容;crond提供程序或用户自定义计划任务。 2.计划任务的格式:分时日月周要执行的命令##用户可以不指定,默认为root用户 3.时间的表示:所有时间为正常标准,特殊的表示以下: *:表示任意时间,可用在除分钟外的其他时间 -:表示连续的时间 /:表示时间的频率,如*/3表示每隔3 ,:表示不连续的时间,如1,3,5 4.设置周期性计划任务的方式: crontab -e -u 用户-->时间命令-->:wq --> crontab -l -->crontab -r (删除用户的所有计划任务) echo‘时间命令’>>/var/spool/cron/用户名--> crontab -l (查看) 5.案例: 每天早上7:50自动开启sshd服务,22点50时关闭 每隔5天清空一次FTP服务器公共目录/var/ftp/pub 每周六的7:30时,重新启动httpd服务 每周一、三、五的17:30时,打包备份/etc/httpd目录

Linux的crontab命令

linux定时运行命令脚本——crontab 分类:Linux/Shell2011-09-24 11:12 12787人阅读评论(0) 收藏举报 Linux中,周期执行的任务一般由cron这个守护进程来处理 ps -ef | grep cron cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。 cron的配置文件称为“crontab”,是“cron table”的简写。 一、cron在3个地方查找配置文件(设置shell脚本): 1、/var/spool/cron/yanggang 这个目录下存放的是每个用户(包括root)的crontab任务,每个任务以创建者的名字命名,比如用户tom建的crontab任务对应的文件就是/var/spool/cron/tom yanggang@barry$ sudo ls -l /var/spool/cron/(或有时 是 /var/spool/cron/crontabs/) -rw------- 1 root crontab 1071 2011-09-19 17:20 root -rw------- 1 yanggang crontab 1176 2011-09-24 11:07 yanggang 一般一个用户最多只有一个crontab文件(如:root, yanggang等),其对应日志在/var/spool/mail/root(或/var/spool/mail/yanggang)文件里 2、/etc/crontab这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR #sun,mon,tue,wed,thu,fri,sat # | | | | |

Linux定时任务设置

Linux 下定时任务设置 文章分类:操作系统 为当前用户创建cron服务 1. 键入crontab -e 编辑crontab服务文件 例如文件内容如下: */2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh 保存文件并并退出 */2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh */2 * * * * 通过这段字段可以设定什么时候执行脚本 /bin/sh /home/admin/jiaoben/buy/deleteFile.sh 这一字段可以设定你要执行的脚本,这里要注意一下bin/sh 是指运行脚本的命令后面一段时指脚本存放的路径 2. 查看该用户下的crontab服务是否创建成功,用crontab -l命令 3. 启动crontab服务 一般启动服务用/sbin/service crond start 若是根用户的cron服务可以用sudo service crond start,这里还是要注意下不同版本linux系统启动的服务的命令也不同,像我的虚拟机里只需用sudo service cron restart 即可,若是在根用下直接键入service cron start 就能启动服务

4. 查看服务是否已经运行用ps -ax | grep cron 5. crontab命令 cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明: crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数 crontab -l //列出某个用户cron服务的详细内容 crontab -r //删除没个用户的cron服务 crontab -e //编辑某个用户的cron服务 比如说root查看自己的cron设置:crontab -u root -l 再例如,root想删除fred的cron设置:crontab -u fred -r 在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e 进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt 任务调度的crond常驻命令 crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此 任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工 作便会自动执行该工作。

linux下种定时执行任务方法

(1)at 命令 假如我们只是想要让特定任务运行一次,那么,这时候就要用到at 监控程序了。 设置at 命令很简单,指示定运行的时间,那么就会在哪个时候运行。at 类似打印进程,会把任务放到/var/spool/at 目录中,到指定时间运行它。at 命令相当于另一个shell ,运行at time 命令时,它发送一个个命令,可以输入任意命令或者程序。at now + time 命令可以 在指示任务。 假设处理一个大型数据库,要在别人不用系统时去处理数据,比如凌晨3 点10 分。那么我们就应该先建立/home/kyle/do_job 脚本管理数据库,计划处理/home/kyle/do_job 文件中的结果。正常方式是这样启动下列命令: # at 2:05 tomorrow at>/home/kyle/do_job at> Ctrl+D AT Time 中的时间表示方法 时间例子说明 Minute at now + 5 minutes任务在 5 分钟后运行 Hour at now + 1 hour 任务在 1 小时后运行 Days at now + 3 days任务在3 天后运行 Weeks at now + 2 weeks 任务在两周后运行 Fixed at midnight任务在午夜运行 Fixed at 10:30pm 任务在晚上10 点30 分 注意:一 默认为不启定要检查一下atq 的服务是否启动,有些操作系统未必是默认启动的, 而ubuntu 默认为启动的。检查是否启动,用service atd 检查语法, linux 用 service atd status 检查atd 的状态,用service atd start 启动atd 服务。 查看at 执行的具体内容:一般位于/var/spool/at 目录下面,用vi 打开,在最后一部分

Linux实验八 计划任务管理

实验八计划任务管理 一、实验内容:使用at和cron服务实现Linux进程调度方法。 二、具体步骤 (一) 通过at命令实现计划任务 1、2分钟后执行/bin/date 2、2009-11-7 晚上7:00提示"今天我们学习计划任务",将提示信息输出到/lx/ 3、查找系统中任何以c为后缀名的文档,将将结果保存到/lx/findc文件中,指定时间为2009年12月28日下午1点 4、将第3题的命令写到/lx/findjob中,使用at命令执行,并将结果保存到 /lx/findfc中,指定时间为当前时间后的3分钟 5、at命令实现今晚23:00定时关机 6、at命令实现在3天后统计/etc/inittab文件的行数,将统计结果送至

/lx/initline文件中 7、列出现有的所有at任务,并记下相关信息(提示:atq命令) 8、删除某at任务,并进行查看是否删除(提示:atrm 任务号命令) (二) 通过cron命令实现计划任务 1、使用cron命令实现下午12月每天下午1:00点系统进行维护状态,重新启动系统 2、使用cron命令实现在11月20日星期5的20点30分查看/etc/passwd 内容,将将查看结果送至/lx/passtext

3、使用cron命令实现每周一至周五3点钟,在目录/home中,查找文件名为*.c,且是4天内的修改过的文件,对满足该条件的文件进行删除。 4、查看当前的crontab文件 5、删除用户liyang的crontab文件 7、6、使用cron实现每天的3点30备份/etc目录,将备份文件保存 /lx/ 将(6)题进行扩展,要求保存的文件的名称为/lx/etc+年月日.,其它要求不变.

linux定时任务详细说明

Linux 定时任务 fileclear.sh tamcdir=${HOME}/ora/user_projects/domains/tamc cd ${tamcdir} echorm-f `ls heapdump*.phd` rm-f heapdump*.phd echorm-f `ls javacore*.txt` rm-f javacore*.txt echorm-f `ls Snap*.trc` rm-f Snap*.trc cd bin echocp/dev/null nuhup.out cp/dev/null nuhup.out cd ${tamcdir}/pxbak echorm-rf `ls20*` rm-rf 20* cd ${tamcdir}/webapps/tamcx/fileLoad echorm-f `find/weblogic/ora/user_projects/domains/tamc/webapps/tamcx/fileLoad/ -mtime +1` find/weblogic/ora/user_projects/domains/tamc/webapps/tamcx/fileLoad/ -mtime +1 -exec rm-f {} \; task.crontab #web服务端日志、临时文件清理 101* * * ksh $HOME/tools/clearweblogic.sh>>/weblogic/ora/user_projects/domai ns/tamc/webapps/tamcx/log/crontab.log 2>>/weblogic/ora/user_projects/domains/ta mc/webapps/tamcx/log/crontab.log task.null.crontab是一个没有内容的空文件 开启定时任务 crontab /weblogic/tools/task.crontab 停止定时任务 crontab /weblogic/tools/task.null.crontab crontab [-u username] [-l|-e|-r]

Windows7计划任务和服务优化详解大全最终版

Windows7 计划任务优化 windows7 计划任务非常庞大 ,一些非必要的计划浪费大量的系统资源, 所以我们有必要进行优化! 打开控制面板系统和安全计划任务(控制面板所有控制面板项管理工具任务计划程序)在“任务计划程序”的左边依次展开“任务计划程序库” -Microsoft-windows : 1.Application Experience ( Microsoft 客户体验改善计划)没有参加可以禁用AitAgent 和 ProgramDataUpdater 2.Autochk ( Microsoft 客户体验改善计划)没有参加可以禁用 Proxy 3.Bluetooth (卸载与指定 Bluetooth 服务 ID 关联的 PnP 设备)没蓝牙的可以禁用 UninstallDeviceTask 4.Customer Experience Improvement Program (Microsoft 客户体验改善计划)没 有参加可以禁用 Consolidator 、 Kernel Ceip Task 和 UsbCeip 5.DiskDiagnostic ( Windows 磁盘诊断)没有参加客户体验改善计划的可以禁用 Microsoft-Windows-Disk Diagnostic Data Collector 6.Media Center (Windows Media Center 程序相关计划)不使用 Windows Media Center 程序的可以全部禁用 7.Offline Files (脱机文件相关计划)不使用脱机文件的可以全部禁用 8.Registry (注册表空闲备份任务)根据自己的情况选择是否禁用(本人禁用)

使用crond 在linux中定时执行任务

使用crond 在linux中定时执行任务 定期运行程序或者脚本是管理员要面临一个很普遍的问题 一、 使用crond监控程序运行程序 1. 使用cron来定期执行任务 使用crond (cron监控程序)来定期运行一些任务,比如备份日志、数据库、把日志发送到自己邮箱等等操作都可以又定期运行程序来完成。crond是个脚本,每次Linux启动的时候都自动起到该脚本,该脚本是/etc/rc.d/init.d 下面的,每次系统启动的时候就自动会启动该目录下的脚本。 cron有两个配置文件,一个/etc/crontab,是一个全局配置文件,一组是crontab命令生成生成的配置文件,是属于用户级的。 一般对管理员来说,只要使用全局配置的/etc/crontab就配置文件就可以了, 我们去打开配置文件看看: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly 我们稍微来分析一下这个文件: /* 设置基于shell来运行,我们这里是基于bash shell */ SHELL=/bin/bash /* 指定目录中有此文件的命令时,不需要完整目录路经 */ PATH=/sbin:/bin:/usr/sbin:/usr/bin /* 使用cron实际工作时,将通过邮件来通知root用户 */ MAILTO=root /* 与/etc/crontab配置文件相关的主目录为根目录 */

任务管理器中的进程哪些可以结束

任务管理器中的进程哪些可以结束 IEXPLORE.EXE Administrator TudouV a.exe Administrator alg.exe LOCAL SERVICE conime.exe Administrator ashWebSv.exe SYSTEM ashMaiSv.exe SYSTEM Explorer.EXE Administrator RavStub.exe SYSTEM ashServ.exe SYSTEM aswUpdSv.exe SYSTEM RavMonD.exe SYSTEM RavMon.exe Administrator ctfmon.exe Administrator RavTask.exe Administrator svchost.exe LOCAL SERVICE stsystra.exe Administrator svchost.exe NETWORK SERVICE TXPlatform.exe Administrator svchost.exe SYSTEM CCenter.exe SYSTEM svchost.exe NETWORK SERVICE svchost.exe SYSTEM lsass.exe SYSTEM services.exe SYSTEM winlogon.exe SYSTEM csrss.exe SYSTEM smss.exe SYSTEM wnwb.exe Administrator spoolsv.exe SYSTEM taskmgr.exe Administrator System SYSTEM System Idle Process SYSTEM 此中svchost.exe这个进程项有好几个,没啥子问题吗!?请妙手帮我看看我这些个进程项哪一些是可以关掉的!谢谢! 最佳回答:system process 进程项文件: [system process] or [system process] 进程项名称: Windows内存处理体系进程项

任务有计划,效率大不同

任务有计划,效率大不同 无论做什么事情,都要有个提前计划和统筹安排,才能将工作有条不紊地进行。我们的电脑也是一样,不知道你是否想过,如果我们的电脑在开机后,常用的软件能按我们的需求,按部就班地根据设定的时间自行启动,那该有多方便啊! 其实很多软件都具有随机启动功能,比如QQ、迅雷等软件,只是这些软件启动方式不太智能,只能随机启动,并不能根据我们的需要随意设定启动时间。那我们如何才能让这些软件在开机后,按设定的时问顺序启动,来提高我们的工作效率呢? 一、打开电脑自动连网 很多电脑每次开机后要做的第一件事就是双击“宽带连接”图标,然后输入用户名及密码,点击“确定”后才能进行网络连接,那我们能不能让电脑启动后宽带自动连接呢? 首先是在电脑中执行“开始→控制面板→管理工具→任务计划程序”命令,然后在打开的“任务计划程序”窗口右侧点击“创建基本任务”,之后在打开的“创建基本任务”对话框中的“名称”框中输入宽带连接,并对任务进行适当描述,点击“下一步”打开“触发器”对话框,选择“当前

用户登录时”,再点击“下一步”打开“操作”对话框,选择“启动程序”后再点击“下一步”,在打开的“启动程序”对话框中,在“程序或脚本”框中输入 “%windir%system32rasphone.exe-d宽带连接”(图1),再单击“下一步”,随后在“完成”这一步中,将“单击‘完成’时,打开此任务的属性对话框”勾选,最后点击“完成”按钮。 打开宽带连接输入用户名及密码,单击“属性”按钮。在宽带连接“属性”对话框中单击“选项”,在“拨号选项”下将“连接时显示进度”和“提示名称、密码和证书等”的复选框前面的钩去掉(图2),单击“确定”关闭对话框即可。这样,当我们以后再启动电脑时,宽带就能自动连接了。 二、开机后证邮箱自动登录 很多上班族上班后打开电脑要做的第一件事,就是先打开浏览器,然后登录邮箱查看―下有没有收到新的邮件=其实我们不用那么繁琐,我们可以设置在电脑打开后,让浏览器自行启动并自动登录邮箱,从而提高我们的工作效率。下面以我们常用的360浏览器为例,介绍―下如何在开机后自动登录我们的邮箱。 首先是打开360浏览器,打开我们要登录的邮箱页面,输入用户名及登录密码,再勾选“十天内免登录”(需要注意的是,在关闭邮箱时不能点击‘退出’,只能是直接关闭

linux定时器和Jiffies

1.linux HZ Linux核心几个重要跟时间有关的名词或变数,以下将介绍HZ、tick与jiffies。 HZ Linux核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timer interrupts。举例来说,HZ为1000,代表每秒有1000次timer interrupts。 HZ可在编译核心时设定,如下所示(以核心版本 adrian@adrian-desktop:~$ cd /usr/src/linux adrian@adrian-desktop:/usr/src/linux$ make menuconfig Processor type and features ---> Timer frequency (250 HZ) ---> 其中HZ可设定100、250、300或1000。 小实验 观察/proc/interrupt的timer中断次数,并于一秒后再次观察其值。理论上,两者应该相差250左右。 adrian@adrian-desktop:~$ cat /proc/interrupts | grep timer && sleep 1 && cat /proc/interrupts | grep timer 0: 9309306 IO-APIC-edge timer 0: 9309562 IO-APIC-edge timer 上面四个栏位分别为中断号码、CPU中断次数、PIC与装置名称。

要检查系统上HZ的值是什么,就执行命令 cat kernel/.config | grep '^CONFIG_HZ=' 2.Tick Tick是HZ的倒数,意即timer interrupt每发生一次中断的时间。如HZ为250时,tick为4毫秒(millisecond)。 3.Jiffies Jiffies为Linux核心变数(unsigned long),它被用来记录系统自开机以来,已经过了多少tick。每发生一次timer interrupt,Jiffies变数会被加一。值得注意的是,Jiffies于系统开机时,并非初始化成零,而是被设为-300*HZ (arch/i386/kernel/time.c),即代表系统于开机五分钟后,jiffies 便会溢位。那溢位怎么办?事实上,Linux核心定义几个macro(timer_after、time_after_eq、time_before与time_before_eq),即便是溢位,也能借由这几个macro正确地取得jiffies的内容。 另外,80x86架构定义一个与jiffies相关的变数jiffies_64 ,此变数64位元,要等到此变数溢位可能要好几百万年。因此要等到溢位这刻发生应该很难吧。

相关文档
最新文档