shell脚本wget(shell脚本ftp到远程目录)

本文目录
shell脚本ftp到远程目录
1.下载远程电信机房中机器上已打包好的数据.这个不难,一条语句搞定.
复制代码代码如下:
wget
ftp://user_name:password@ip_address:port/dir/file_name
2.定时任务,需要写个脚本,并加入定时任务中.
a.脚本.假设你计划将远程的文件备份到/var/www/html/back目录下,到这个目录下,新建文件,内容如下
复制代码代码如下:
!#/bin/sh
cd
/var/www/html/back/
wget
ftp(上面那条语句)
保存为bak.sh
b.加入定时任务.直接vi
/etc/crontab
在最后一行加入如下语句
复制代码代码如下:
30
18
*
*
*
root
/var/www/html/back/bak.sh(脚本保存的位置)
这样每天下午6:30本地的centos机器自动会将远程FTP的文件备份到/var/www/html/back中了.
在否 我想问 我的shell脚本写好了 wget也安装好了 如何让wget运行我的shell脚本啊
让wget运行shell脚本?
wget是一个下载工具,不是sh,所以不能让wget来执行shell脚本。
虽然wget的--execute可以执行wgetrc指令,但是wgetrc指令都是些针对下载过程和下载协议的一些指令,无法执行sh指令。
你可以在一个shell脚本内先执行wget,然后再执行某个shell脚本。
用shell脚本怎么实现安装升级版本
A:本脚本运行的机器,Linux
B:待安装JDK的机器, Linux
首先在脚本运行的机器A上确定可以ssh无密码登录到待安装jdk的机器B上,然后就可以在A上运行本脚本:
复制代码 代码如下:
$ ./install-jdk.sh B的IP
or:
复制代码 代码如下:
$ ./install-jdk.sh "B的IP" "JDK的URI"
就可以在机器B上安装JDK。jdk使用的tar包需要用户自己设定DEFAULT_JDK_SRC=?,保证可以wget得到即可。下面是全部脚本内容:
复制代码 代码如下:
#!/bin/bash
#
# @file
# install-jdk.sh
#
# @date
# 2013-12-19
#
# @author
# cheungmine
#
# @version
# 0.0.1pre
#
# @usage:
# ./install-jdk.sh 192.168.122.206
#
################################################################################
. common.sh
#***********************************************************
# install_jdk
# install jdk on machine: /usr/local/lib
#
# Parameters:
# machine - root@ipaddr
# jdkUri - uri for fetching tarball
#
# Example:
#
# install_jdk root@192.168.122.206 ftp://vm-ftp/pub/tarball/jdk-7u67-linux-x64.tar.gz
#
#***********************************************************
. common.sh
# YOU MIGHT CHANGE BELOW LINE TO GET YOUR JDK TARBALL:
DEFAULT_JDK_SRC="ftp://vm-ftp/pub/tarball/jdk-7u67-linux-x64.tar.gz"
# DO NOT CHANGE BELOW TWO LINES:
INSTALL_DIR="/usr/local/lib/java"
LOCAL_DIR="./.tmp"
function install_jdk() {
echo -e "《INFO》 install jdk on machine: $1"
local DEST_LOGIN=$1
local JDK_URI=$2
local TAR=$(basename $JDK_URI)
echo -e "《INFO》 jdk: ’$JDK_URI’"
wget -c $JDK_URI -P $LOCAL_DIR -O $LOCAL_DIR/$TAR
$(is_empty_dir "$LOCAL_DIR/jdk_untar")
local ret=$?
case $ret in
$DIR_NOT_EXISTED)
mkdir -p $LOCAL_DIR/jdk_untar
;;
$DIR_IS_EMPTY)
;;
$DIR_NOT_EMPTY)
rm -rf $LOCAL_DIR/jdk_untar/*
;;
*)
exit $ERR_FATAL_ERROR
;;
esac
# untar to jdk_untar
tar -zxf $LOCAL_DIR/$TAR -C $LOCAL_DIR/jdk_untar
$(is_empty_dir "$LOCAL_DIR/jdk_untar")
local ret=$?
if ; then
local jdk_home=`ls $LOCAL_DIR/jdk_untar 2》/dev/null`
echo $jdk_home
else
exit $ERR_FATAL_ERROR
fi
echo -e "《INFO》 create folder on: $DEST_LOGIN:$INSTALL_DIR"
local ret=`ssh $DEST_LOGIN "mkdir $INSTALL_DIR"`
echo -e "《INFO》 copy $jdk_home/ to: $DEST_LOGIN:$INSTALL_DIR/"
local ret=`scp -r $LOCAL_DIR/jdk_untar/$jdk_home $DEST_LOGIN:$INSTALL_DIR`
# remove local tar
rm -rf $LOCAL_DIR/jdk_untar
local DEST_JAVA_HOME=$INSTALL_DIR/$jdk_home
echo -e "《TODO》 remove old settings for install_jdk in /etc/profile"
echo -e "《INFO》 set /etc/profile: JAVA_HOME=$DEST_JAVA_HOME"
local ret=`ssh $DEST_LOGIN "echo ’’ 》》 /etc/profile"`
local ret=`ssh $DEST_LOGIN "echo ’#!{{install_jdk@hgdb.net==》’ 》》 /etc/profile"`
local ret=`ssh $DEST_LOGIN "echo ’export JAVA_HOME=$DEST_JAVA_HOME’ 》》 /etc/profile"`
local ret=`ssh $DEST_LOGIN "echo ’export CLASSPATH=.:\\$JAVA_HOME/lib/tools.jar:\\$JAVA_HOME/lib/dt.jar’ 》》 /etc/profile"`
local ret=`ssh $DEST_LOGIN "echo ’export PATH=\\$JAVA_HOME/bin:\\$JAVA_HOME/jre/bin:\\$PATH’ 》》 /etc/profile"`
local ret=`ssh $DEST_LOGIN "echo ’#!《==install_jdk@hgdb.net}}’》》 /etc/profile"`
local ret=`ssh $DEST_LOGIN ". /etc/profile"`
}
function uninstall_jdk() {
echo -e "《TODO》 uninstall jdk from: $1"
}
#=======================================================================
# ---- main() ----
if ; then
DEST_IP=$1
JDK_SRC=$DEFAULT_JDK_SRC
if ; then
JDK_SRC=$2
fi
echo -e "《INFO》 install jdk on ’$DEST_IP’, jdk: ’$JDK_SRC’"
install_jdk "root@$DEST_IP" "$JDK_SRC"
fi

更多文章:
desense(手机desense测试,中文是什么意思怎么测试)
2025年11月12日 03:00
dictionary哪个字母不发音(dictionary的音标)
2025年9月20日 19:15
motivation的中文(motive和motivation的区别)
2025年11月11日 14:00
什么是swarm(flock,pack,bevy,swarm,gathering都有群的意思,有什么区别)
2026年6月3日 05:15
html添加输入框(html插入一个输入框 一个按钮(提交)点击后回显在下列)
2026年9月3日 07:45
oracle数据库编码格式怎么改(如何查看并更改ORACLE的编码方式)
2025年8月4日 20:15
powershell切换目录(win7如何在当前目录打开powershell)
2025年12月25日 00:00
sql查询大于某个值的数据(sql查询大于字段的所有数据,或小于字段的所有数据)
2026年3月17日 18:00
香港疫情最新消息不能入境(现在可以去香港旅游吗2023香港入境最新政策)
2025年6月12日 06:15















