千家信息网

如何让脚本定时执行

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,一、计划任务1. 非root用户创建计划任务crontab -u bin -ecrondtab-u bin -l //查看方法ls /var/spool/cron/ //所有计划任务存放目录2. 高级
千家信息网最后更新 2024年11月23日如何让脚本定时执行

一、计划任务

1. 非root用户创建计划任务

crontab -u bin -e

crondtab-u bin -l //查看方法

ls /var/spool/cron/ //所有计划任务存放目录


2. 高级crontab ,篡改一个系统级别的计划任务

ls /etc/cron //按两下tab键查看


cron.d/ #系统级别的定时任务

cron.daily/ #系统每天要执行计划任务

cron.hourly/ #系统每小时要执行计划任务

cron.monthly/ #系统每月要执行计划任务

cron.weekly/ #系统每周要执行计划任务

find /etc/cron* //查看可以添加系统级别的计划任务

案例:添加系统级别的***程序

vim /etc/cron.daily/tmpwatch //在定时删除/tmp目录下临时文件的脚本最后添加

echo aaa


排查方法:利用md5sum ,来检验文件的完整性,脚本修改前后MD5不一样

语法:md5sum 文件


对/etc/cron*下所有文件都生成md5值

find /etc/cron* -type f -exec md5sum {} \; > /usr/share/file_md5.v1 // 先提前生成,如忘记,从新机器上操作

find /etc/cron* -type f -exec md5sum {} \; >/usr/share/file_md5.v2 // 怀疑有问题时,再从生成

diff /tmp/file_md5.v1 /tmp/file_md5.v2 // 最后两者对比


注: 1 * * * * //为每小时的第一分钟!!!



二、开机启动

1. /etc/rc.local // 开机启动脚本中添加***脚本

排查方法:显示时,过滤掉空行

grep -v ^$ /etc/rc.local //^$ #以空开头以空结尾行,就空行。 -v #表示取反,显示


注:一定要cat,不使用vim ,因为有的***会故意在rc.local中添加很多空白行,在中间或最后添加一个脚本


2. 利用开机启动的服务器脚本来加载***程序,例如: httpd (apache web服务器启动脚本),更厉害的***自己写一个开机启动程序

ls /etc/init.d/ // 这个目录下的脚本文件,都是可以开机启动的脚本文件


排查方法:

方法1:对比其他服务器好的配置文件 ,利用MD5值做对比


方法2:查看被黑当天生成或被修改的文件

find /etc/init.d/ -mtime -1 // 查看被前一天到现在被修改的文件



三、系统命令被人替换,定一个触发事件


排查方法:使用 rpm检查文件的完整性

语法:rpm -V 软件包的名字 // 使用 rpm检查文件的完整性

rpm -Vf 命令的绝对路径 // 使用 rpm检查命令的完整性

rpm -Va // 查看所有rpm安装的软件包,生成命令或文件是否被改过


说明:

S file Size 大小不一致

M Mode 模式不一致 (包括许可和文件类型)

5 MD5 sum 校验和不一致

D Device 主从设备号不匹配

L readLink 路径不匹配

U User 属主不一致

G Group 所属组不一致

T mTime 修改时间不一致


0