diff --git a/crontab.md b/crontab.md index a43f670..407ebac 100644 --- a/crontab.md +++ b/crontab.md @@ -1,6 +1,6 @@ #### crontab 命令 -Linux下的任务调度分为两类:系统任务调度和用户任务调度。 +__Linux下的任务调度分为两类:系统任务调度和用户任务调度。__ 系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在 `/etc` 目录下有一个 `crontab` 文件,这个就是系统任务调度的配置文件。 @@ -31,7 +31,7 @@ crontab -r #删除定时任务 sudo crontab -u root -e #指定 root 用户编辑,每个用户对应有一个 crontab 文件 ``` -crontab 文件内容说明 +__crontab 文件内容说明__ ``` Minute Hour Day Month Week command @@ -60,7 +60,7 @@ Select an editor. To change later, run 'select-editor'. ``` -例子 +__例子__ ``` */1 * * * * ~/http.sh #每1分钟执行一次 ~/http.sh shell 文件 @@ -71,15 +71,25 @@ Select an editor. To change later, run 'select-editor'. 10 * * * 1-5 root /usr/local/bin/php /home/ubuntu/demo.php #周一到周五第10分钟以 root 用户 php 命令去执行一次 demo.php 文件 -*/1 * * * * run-parts /root/sh/ #每分钟执行 /root/sh/ 目录内的脚本,CentOS 系统生效,Ubuntu 系统不生效,原因暂时未知。 +*/1 * * * * run-parts /home/nick/sh/ #每分钟执行 /home/nick/sh/ 目录内的脚本,CentOS 系统生效,Ubuntu 系统不生效,原因暂时未知。 ``` `crontab` 文件里面指定的命令建议写绝对路径,文件相对路径和绝对路径都可以。 `run-parts` 可以指定任意目录执行,路径可以为相对路径也可以为绝对路径, `CentOS` 系统该命令位置 `/usr/bin/run-parts` ,`Ubuntu` 系统该命令位置 `/bin/run-parts` 。 -日志 +__crontab 日志__ CentOS7.2 crontab 日志路径为 `/var/log/cron` +CentOS 系统 crontab 执行成功日志会出现以下内容 + +``` +May 5 11:48:01 10-13-41-254 CROND[10770]: (nick) CMD (run-parts /home/nick/sh) +May 5 11:48:01 10-13-41-254 run-parts(/home/nick/sh)[10770]: starting 1.sh +May 5 11:48:01 10-13-41-254 run-parts(/home/nick/sh)[10777]: finished 1.sh +May 5 11:48:01 10-13-41-254 run-parts(/home/nick/sh)[10770]: starting 2.sh +May 5 11:48:01 10-13-41-254 run-parts(/home/nick/sh)[10783]: finished 2.sh +``` + Ubuntu16.04 crontab 日志路径为 `/var/log/cron.log` Ubuntu16.04 默认不生成 crontab 日志,需要更改配置,方法如下 @@ -90,4 +100,11 @@ sudo vim /etc/rsyslog.d/50-default.conf cron.* /var/log/cron.log #将cron前面的 # 注释符去掉 sudo service rsyslog restart +``` + +Ubuntu 系统 crontab 执行成功日志会出现以下内容 + +``` +May 5 11:37:01 localhost CRON[26565]: (root) CMD (/root/sh/1.sh) +May 5 11:38:01 localhost CRON[26677]: (root) CMD (/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &) ``` \ No newline at end of file diff --git a/other.md b/other.md index 5884581..72c71a5 100644 --- a/other.md +++ b/other.md @@ -4,9 +4,11 @@ ``` ssh-keygen -t rsa #生成的公钥匙在 ~/.ssh/ 目录下 ``` -第二步,把公钥上传到服务器端 +第二步,把公钥上传到服务器端,登录服务器追加公钥到 authorized_keys 文件 ``` scp id_rsa.pub root@ip地址:文件保存路径 +ssh root@ip #登录服务器 +cd id_rsa.pub 文件保存路径 cat id_rsa.pub >> /root/.ssh/authorized_keys 追加到文件中 ``` @@ -18,7 +20,8 @@ cat id_rsa.pub >> /root/.ssh/authorized_keys 追加到文件中 RSAAuthentication yes #开启RSA验证 PubkeyAuthentication yes #是否使用公钥验证 PasswordAuthentication no #禁止使用密码验证登录 -chmod 600 /root/.ssh/authorized_keys #为了安全把文件修改权限 +chmod 700 /root/.ssh/ #为了安全把文件修改权限,可选,部分系统新建即为 700 +chmod 600 /root/.ssh/authorized_keys #为了安全把文件修改权限,可选,部分系统新建即为 600 ``` 第四步,服务器端重启 ssh 服务 @@ -58,4 +61,30 @@ sudo iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP #往防火墙添加 sudoi ptables -L -n --line-numbers #将所有iptables以序号标记显示 sudo iptables -D INPUT 8 #删除INPUT里序号为8的规则 -``` \ No newline at end of file +``` + +--- + +#### 自定义 ssh 登录 + +在 `.ssh` 目录下新建 `config` 文件,内容如下 + +``` +Host test1 #自定义名称 +HostName ip #服务器 ip 地址 +User nick #用户名 +Port 22 # ssh 端口号,默认 22 可以不设置 + +Host test2 #自定义名称 +HostName ip #服务器 ip 地址 +User nick #用户名 +Port 22228 # ssh 端口,自定义端口,修改为指定端口号 +``` + +连接方式 + +``` +ssh test1 #如果配置了公私钥就直接登录,没有的话输入密码登录 +``` + +