美文网首页
Linux下定时执行脚本和设置http代理

Linux下定时执行脚本和设置http代理

作者: private_object | 来源:发表于2020-09-15 14:45 被阅读0次

    安装crontab

    yum install  vixie-cron
    
    yum install crontab
    
    image image

    启动crontab服务

    service crond start

    用以下的方法启动、关闭这个cron服务:
    service crond start //启动服务
    service crond stop //关闭服务
    service crond restart //重启服务
    service crond reload //重新载入配置

    查看crontab运行状态

    service crond status

    image

    加入开机自动启动:

    chkconfig –level 35 crond on 或chkconfig crond on

    编写脚本

    touch /home/sq.sh 在home目录下新建sq.sh脚本

    image

    编辑脚本并写入命令执行语句

    vi /home/sq.sh

    image

    /bin/bash 是必须要写的,表示要是/bin/bash这个执行脚本的命令执行接下来写的脚本, echo "hello world !!"表示想前端打印一句话即输出语句,>>表示将语句输出到指定路径

    脚本编写完成后,.通过chmod命令赋予该脚本的执行权限chmod 777 sq.sh,否则没有执行权限

    添加任务调度

    crontab -e进入添加页面,添加*/1 * * * * /home./sq.sh表示每分钟执行一次改脚本

    image

    输入完毕后输入:wq保存退出

    crontab -l 查看已经添加的任务调度

    image

    重启任务调度服务开始执行任务调度

    /etc/init.d/crond restart

    image

    查看任务调度是否生效

    tail -f /home/sq_nohup.out

    image

    命令的使用

    a.png b.png

    遇到的问题

    在这里插入图片描述

    进入/var/spool下查看cron目录是正常的,但是在cron里面没有权限建立文件这个根源。
    1.可以尝试先在/var/spool/cron目录下用vim编辑一个测试文件,看是否可以保存在这个cron目录下,如果无法保存提示权限问题。
    那么可能目录有什么特殊的地方,root用户也被约束了
    查看是否有特殊的属性
    [root@node7 cron]# lsattr /var/spool/cron/
    去掉特殊的属性
    [root@node7 cron]# chattr -ai /var/spool/cron
    再次编辑定时任务:
    [root@node7 cron]# crontab -e
    crontab: installing new crontab
    [root@node7 cron]#
    保存成功了。

    小知识

    使用root权限都不能编辑某个文件,很可能是使用chattr命令锁定该文件了。通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。

    使用lsattr file 查看是否被锁:
    [root@localhost packages]# lsattr /etc/shadow

    使用chattr -i file解锁
    [root@localhost packages]# chattr -i /etc/shadow

    使用chattr -i file加锁
    [root@localhost packages]# chattr +i /etc/shadow


    TinyProxy http代理

    Tinyproxy 是一个轻量级的开源 web 代理守护进程,其设计目标是快而小。它适用于需要完整 HTTP 代理特性,但系统资源又不足以运行大型代理的场景,比如嵌入式部署。

    Tinyproxy 对小规模网络非常有用,这样的场合下大型代理会使系统资源紧张,或有安全风险。Tinyproxy 的一个关键特性是其缓冲连接的理念。从效果上看, Tinyproxy 对服务器的响应进行了高速缓冲,然后按照客户端能够处理的最高速度进行响应。该特性极大的降低了网络延滞带来的问题。

    安装 TinyProxy

    yum -y install tinyproxy
    

    配置 TinyProxy

    vim /etc/tinyproxy/tinyproxy.conf
    

    修改 Port 端口,默认为 8888

    Port 8888
    

    注释掉 Allow,表示允许所有人访问代理

    #Allow 127.0.0.1
    

    隐藏掉Via请求头部,去掉下面的注释

    DisableViaHeader Yes
    

    更多配置项,下面是列举一些配置文件默认的,不需要配置

    PidFile "/var/run/tinyproxy/tinyproxy.pid"
    LogFile "/var/log/tinyproxy/tinyproxy.log"
    LogLevel Info
    MaxClients 100
    MinSpareServers 5
    MaxSpareServers 20
    StartServers 10
    启动 TinyProxy
    systemctl start tinyproxy.service 
    systemctl restart tinyproxy.service 
    systemctl stop tinyproxy.service 
    systemctl status tinyproxy.service 
    systemctl enable tinyproxy.service 
    

    配置防火墙

    firewall-cmd --add-port=8888/tcp  --permanent
    firewall-cmd  --reload
    

    连接测试,在另一台客户机上输入

    curl -x <IP>:<PORT> www.baidu.com
    

    代理请求过滤,示例:仅允许代理请求 anoyi.com 的内容,配置如下:

    # 指定过滤内容的文件位置
    Filter "/etc/tinyproxy/filter"
    
    # 使用 URL 过滤而不是 domains
    FilterURLs On
    
    # 允许代理过滤文件里的地址,若不允许,此处设置为 No
    FilterDefaultDeny Yes
    

    然后在 /etc/tinyproxy/filter 文件添加如下内容:

    anoyi.com
    

    查看代理请求日志

    tail -f /var/log/tinyproxy/tinyproxy.log
    

    相关文章

      网友评论

          本文标题:Linux下定时执行脚本和设置http代理

          本文链接:https://www.haomeiwen.com/subject/rvcfyktx.html