目录
一、linux定时执行
此处使用的是crond,crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
具体可参考:crontab的定时执行
示例如下
1)使用现有用户或创建一个用户,如用户
testuser
2)创建一个shell脚本如脚本
testlogmv.sh
3)将脚本放在指定目录,如
/home/testuser/shellscript
4)使用testuser赋给脚本可执行的权限
chmod +x testlogmv.sh
5)进入root用户
su root
6)查看testuser用户是否具有crontab权限
cat /etc/cron.deny
若无(若打印出来的信息中无该用户,则为无),则如下添加
sudo vi /etc/cron.deny
添加: testuser
7)设置定时任务
sudo vi /etc/crontab
添加: 5 0 * * * testuser /home/testuser/shellscript/testlogmv.sh (键入i进行编辑,依次键入esc,: ,wq进行保存退出)
(具体的定时配置可参考:crontab的定时执行)
补充:
1)重新载入crond的配置
/bin/systemctl reload crond.service
2)启动crond服务
/bin/systemctl restart crond.service
3)查看crond服务状态
/bin/systemctl status crond.service
二、linux服务器之间实现SSH免密登录
此处采用公私钥认证的方式
ssh-keygen 产生公钥与私钥对.
ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id也能让你有到远程机器的home, ~./ssh , 和 ~/.ssh/authorized_keys的权利
1)进入指定用户,如
su testuser
cd /home/testuser
2)在本地机器上使用ssh-keygen产生公钥私钥对
ssh-keygen -t rsa
(三次确认,会打印出来公私钥所在位置,如 私钥位置:/home/testuser/.ssh/id_rsa ,公钥位置:/home/testuser/.ssh/id_rsa.pub)
3)将本地的公钥复制到远程主机的authorized_keys文件上,如
ssh-copy-id -i /home/testuser/.ssh/id_rsa.pub testuser@162.16.7.151