Month: June 2017

Linux定时任务Crontab命令详解

linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。 一、crond简介 crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。 Linux下的任务调度分为两类,系统任务调度和用户任务调度。 系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件。 /etc/crontab文件包括下面几行: cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=HOME=/ # run-parts 51 * * * * root run-parts /etc/cron.hourly 24 7 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * […]

linux防火墙iptables封IP,拒绝指定IP和网段的办法

service iptables status可以查看到iptables服务的当前状态 /etc/init.d/iptables stop /etc/init.d/iptables start 单个IP的命令是 iptables -I INPUT -s 211.1.0.0 -j DROP 封IP段的命令是 iptables -I INPUT -s 211.1.0.0/16 -j DROP iptables -I INPUT -s 211.2.0.0/16 -j DROP iptables -I INPUT -s 211.3.0.0/16 -j DROP 封整个段的命令是 iptables -I INPUT -s 211.0.0.0/8 -j DROP 封几个段的命令是 iptables -I INPUT -s 61.37.80.0/24 -j DROP iptables -I […]

阿里云服务(一)——OSS

    阿里电子商务迄今是中国最大的电商网站,各个厂商都在去模仿。就像google的大数据处理,Hadoop的思想等等,只有做出了一些成绩,起了带头羊,那么将会是非常吃香的。从今天开始简单学习了解一下阿里的各种云服务。今天先看一下OSS。 OSS(Open Storage Service)开放云存储服务,是阿里云对外的提供的海量,安全和高可靠的云存储服务。目前阿里的所有云服务都是收费,大家可以到官网上了解:http://www.aliyun.com/product/oss OSS,通俗一点理解就像是一块硬盘用来存储东西呢,只不过,它是由很多服务器,通过类似负载均衡,raid等各种技术,搭建起来的云存储,类似我们经常使用的百度云盘,360云盘等。我们可以将我们服务,数据存放上去,方便,安全,实现云。好了,简单来说,OSS,既然是存储东西用的,我们就需要学会像类似IO流对电脑硬盘操作一样,学习一下对OSS云存储的上传,删除等操作。 首先是开通OSS服务器后,会有endpoint,跟地址;accessKeyId,类似用户名;accessKeySecret,类似密码;buketName:第一层文件夹的名字,一个用户可以创建十个bucketName,类似于我们的C,D,E,F盘符;accessUrl,很明显用户可以通过浏览器访问的地址。例如我们上传一个html文件,我们就可以通过"accessUrl/bucketName/目录/文件名.html,来进行访问。我在这里负责一个是页面静态化的功能,将动态的JSP页面生成静态的html页面,然后上传的OSS服务器,返回地址,让用户直接访问静态页面,这样就大大加快访问的速度。    这里突然想到一点不沾边的话语“物极必反,否极泰来”,最开始是单纯的静态页面,我们一直追求动态页面,现在又需要转会到静态页面,各有各的好处,所以技术这东西,没有一个好与不好,只是针对方面不同而已了。 好,首先需要我们创建一个OSS信息实体类,OSSConfigure.Java: view plain copy 然后是一个工具类,这里需要提出的OSS服务器,上所有的都是对象,没有文件夹的概念,上传文件,直接写好路劲,他会自动创建。另外这里有一个入口OSSClient,很多方法都是通过它来实现的,类似于门面模式吧: view plain copy 当然这里仅仅写了两个通用方法,我们可以在官网上下载对应的API,来进行查询学习,其实挺简单的。 反思一下吧,最近学习的少了,可能和加班有关系,更大的是自己的心态吧,调整好心态继续努力吧。

DirectAdmin let’s encrypt 免费SSL证书 部署

首先开启共享IP支持SSL 1.sed -i '$a enable_ssl_sni=1' /usr/local/directadmin/conf/directadmin.conf 2.cat /usr/local/directadmin/conf/directadmin.conf 3.service directadmin restart DirectAdmin开启自动配置Let’s Encrypt免费证书 详见官方文档:How to enable LetsEncrypt 简单来说,就是在DA配置文件/usr/local/directadmin/conf/directadmin.conf中添加行语句: letsencrypt=1 开启SSL和配置好Let’s Encrypt自动证书后,需要重启DA: Shell 1 echo "action=directadmin&value=restart" >> /usr/local/directadmin/data/task.queue; /usr/local/directadmin/dataskq d2000 然后重写主机配置,主要是要把.well-known做指向 Shell 1 2 cd /usr/local/directadmin/custombuild ./build rewrite_confs 官方还建议做一次更新检测,新装的环境一般没必要。老环境升级建议做: Shell 1 2 3 cd /usr/local/directadmin/custombuild ./build update ./build letsencrypt 做好如上配置后,在用户控制面板中,能看到SSL图标。 生成与配置域名证书 首先要做域名解析。必须要把裸域@和主机www都解析到服务器的IP上。经测试通畅后,在进行后面的操作。 进入用户控制面板,点击SSL图标进入配置,地址一般应该是 //www.directadmin.com:8888/CMD_SSL?domain=abc.com 点击 Generate new certificate,然后选 Free […]

设置 SSH 通过密钥登录

我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登录。其实,有一个更好的办法来保证安全,而且让你可以放心地用 root 账户从远程登录——那就是通过密钥方式登录。 密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。 下面来讲解如何在 Linux 服务器上制作密钥对,将公钥添加给账户,设置 SSH,最后通过客户端登录。 1. 制作密钥对 首先在服务器上制作密钥对。首先用密码登录到你打算使用密钥登录的账户,然后执行以下命令: 密钥锁码在使用私钥时必须输入,这样就可以保护私钥不被盗用。当然,也可以留空,实现无密码登录。 现在,在 root 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件。id_rsa 为私钥,id_rsa.pub 为公钥。 2. 在服务器上安装公钥 键入以下命令,在服务器上安装公钥: 如此便完成了公钥的安装。为了确保连接成功,请保证以下文件权限正确: 3. 设置 SSH,打开密钥登录功能 编辑 /etc/ssh/sshd_config 文件,进行如下设置: 另外,请留意 root 用户能否通过 SSH 登录: 当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录: 最后,重启 SSH 服务: 4. 将私钥下载到客户端,然后转换为 PuTTY […]

Shell脚本实现防止国外ip访问服务器

Shell脚本实现防止国外ip访问服务器_linux shell_脚本之家 这篇文章主要介绍了Shell脚本实现防止国外ip访问服务器,本文通过分析使用IP地址库,然后把国外IP指导入iptables并禁止访问实现,需要的朋友可以参考下 客户的要求,不想让外国的ip来访问服务器,本来要让机房在上端路由解决,但是那些人不鸟你!!!~~~~ 这样的话,只能自己用iptables解决了~~~~~~~~~ 关于 ip库  大家可以去 http://www.ipdeny.com/ipblocks/  下载,  这里有各个国家的~~~ 复制代码 代码如下: #下载ip库 #wget http://rfyiamcool.googlecode.com/files/allip.txt wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone #把分号去掉 sed -i 's/;$//' allip.txt #把ip端调出来 for i in `cat cn.zone` do echo "iptables -A INPUT -s $i -j ACCEPT" >>iptables.sh done cat iptables.sh 把这个脚本做下优化,在iptables.sh前面加上下面的命令! 复制代码 代码如下: #!/bin/bash ziji="222.173.13.5" iptables -F iptables -X iptables -Z iptables -t […]