ubuntu11想把远程计算机上的一段脚本和jar包拷到本地计算机上,然后定时执行这段脚本,然后引出了一堆的问题......
首先,登录到远程计算机的命令是ssh,远程计算机和本地之间实现拷贝的命令是scp,到网上查了一下scp命令的具体格式
文件从远程计算机拷到本地: scp user@远程计算机的ip地址:文件的绝对路径 本地路径
目录从远程计算机拷到本地: scp -r user@远程计算机的ip地址:文件的绝对路径 本地路径
但是在我自己的系统中,执行这两条命令怎么都不对,总是提示 connect to host ******* port 22: Connection refused。到网上去查,都说是sshd服务没打开。我尝试打开sshd服务之后,还是报这样的错误。查资料加尝试了一个小时后,求助于公司的同事,才发现是port问题。应该在scp后加上-P13434这样的辅助字符,其中-P和端口数字之间是没有空格的........这才解决了问题。
即,正确的命令格式是: scp -P12345 [-r] user@远程计算机的ip地址:文件的绝对路径 本地路径
把文件拷到本地后,修改程序后就该设置定时服务了。定时服务用的是crontab,没看过关于crontab的任何资料的前提下,蒙头瞎忙了好久,还是配置不对。摸索了好久加问朋友,才算把使用方法弄清楚。
在本地写一个shell脚本,是你要定时启动的任务,比方说bash -x **.sh 10.12.***.***然后是cd 或cp什么的,把它们顺序写在shell脚本中。