lftp 贴心好友 备份服务器bash脚本
利用了 bash 和 lftp 的自动登录功能 lftp 支持 ftp ssh 等多种登录协议
代码如下:
#!/bin/bash
echo "script start at " `date "+%Y-%m-%d %H:%M:%S"`
for site in "192.168.1.2" "192.168.1.3"
do
echo $site
/usr/bin/lftp << EOF
open ftp://username:password@$site
get something -o localfilename
.... other get .................
EOF
done
echo "script end at " `date "+%Y-%m-%d %H:%M:%S"`
相关推荐
-
bash 编程中循环语句用法
1.if 是单分支语句,使用格式如下: if condition ; then statement -.. fi 2.if - else 是双分支语句,使用格式如下: if condition ; then statement -. else statement -. fi 3.if -elif-elif-else 是多分支语句,使用格式如下: if condition ; then statement -. elif condition ; then statement -.. elif co
-
Linux BASH多进程并行处理的方法实现
复制代码 代码如下: #!/bin/bash SEND_THREAD_NUM=13 tmp_fifofile="/tmp/$$.fifo" # 脚本运行的当前进程ID号作为文件名 mkfifo "$tmp_fifofile" # 新建一个随机fifo管道文件 exec 6<>"$tmp_fifofile" # 定义文件描述符6指向这个fifo管道文件 rm $tmp_fifofile for ((i=0;i<$SEND_THRE
-
Bash Shell脚本学习小结
1.字符截断: 如果是一般路径的字符截断可以用basename和dirname这两个工具:basename可以从一个文件路径中截一个文件名 例如: 复制代码 代码如下: $ basename /home/file.tarfile.tar dirname可以从一个文件路径中截到一个目录路径例如: 复制代码 代码如下: $ dirname /home/file.tar/home 不使用外部工具进行字符截断bash有自带的功能来对变量进行字符截断,一般使用"##", "#"
-
BASH 学习笔记小结
1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 1.1.2 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束.我们真诚地建议您
-
lftp 贴心好友 备份服务器bash脚本
利用了 bash 和 lftp 的自动登录功能 lftp 支持 ftp ssh 等多种登录协议 复制代码 代码如下: #!/bin/bash echo "script start at " `date "+%Y-%m-%d %H:%M:%S"` for site in "192.168.1.2" "192.168.1.3" do echo $site /usr/bin/lftp << EOF open ftp://
-
Bash脚本内置的调试方法技巧
用 Bash 写的脚本也可以进行调试,和 Python,Perl 等解释型语言一样.新建一个名为 servinfo 的脚本并增加可执行权限: 复制代码 代码如下: $ vi servinfo #!/bin/bash echo "Hostname: $(hostname)" echo "Date: $(date)" echo "Kernel: $(uname -mrs)" $ chmod +x servinfo 用 bash -x 来调试上述脚本,
-
python 捕获 shell/bash 脚本的输出结果实例
#!/usr/bin/python ## get subprocess module import subprocess ## call date command ## p = subprocess.Popen("date", stdout=subprocess.PIPE, shell=True) ## Talk with date command i.e. read data from stdout and stderr. Store this info in tuple #
-
Linux 在Bash脚本中怎么关闭文件描述符的实例
Linux 在Bash脚本中怎么关闭文件描述符的实例 在写一个Bash脚本的时候碰到一个问题,这个脚本是用来启动一个程序B的,而这个脚本又被另一个程序A调用,结果发现新启动的B进程中有很多A进 程打开的文件描述符(如Socket).因此决定在脚本中将它们关闭,因为为了简单起见,我在A程序中使用了system()来启动该脚本. 增加了关闭文 件描述符的脚本如下: #!/bin/sh cd $(dirname "$0") || exit 1 exec 3>&- exec 4&
-
linux bash脚本监控启动停止weblogic服务的脚本写法
有时,linux系统需要做HA或者类似的功能,需要配置weblogic脚本来启动,停止,查看状态,可以如下方式写 命令形式:Weblogic server start|stop|restart|status ### BEGIN WLS Configration DOMAIN_NAME=base_domain SERVER_NAME=AServer ADMIN_URL="t3://ip:7001" DOMAIN_PATH=/Oracle/Middleware/user_projects/
-
如何编写健壮的Bash脚本(经验分享)
shell脚本在运行异常时会受到非常大的影响. 本文介绍一些让bash脚本变得健壮的技术. 使用set -u 因为没有对变量初始化而使脚本崩溃过多少次?对于我来说,很多次.chroot=$1...rm -rf $chroot/usr/share/doc如果上面的代码没有给参数就运行,不会仅仅删除掉chroot中的文档,而是将系统的所有文档都删除.那应该做些什么呢?好在bash提供了set -u,当使用未初始化的变量时,让bash自动退出. 也可以使用可读性更强一点的set -o nounset.
-
linux Bash脚本判别使用者的身份方法示例
经常要在bash脚本里面或者直接对脚本本身加上sudo运行命令,但是这引发了一系列的问题. 比如用sudo的时候,脚本里的~或$HOME指代用户文件夹的这个变量,到底是应该指向我真正的用户文件夹如/home/pi呢,还是指向了超级管理员的用户文件夹/root/呢? 实际上它指向了/root/文件夹,这是我们绝对不想要的.但是很多命令如安装个程序,都不得不用sudo,那怎么办? 首先要说下经验:命令行的权限执行,从表现上来看,可以分为以下5种情况: admin-manual: 普通用户手敲命令 s
-
在Bash脚本中创建和使用数组方法总结
在Bash中定义一个数组 有两种方法可以在bash脚本中创建新数组.第一个是使用declare命令来定义一个Array.此命令将定义名为test_array的关联数组. $ declare -a test_array 还可以通过分配元素来创建数组. $ test_array=(apple orange lemon) 访问数组元素 与其他编程语言类似,bash数组元素可以使用索引号从0开始,然后从1.2.3-n开始访问.这也适用于索引号为数字的关联数组. $ echo ${test_array[0
-
如何利用Bash脚本监控Linux的内存使用情况
前言 目前市场上有许多开源监控工具可用于监控 Linux 系统的性能.当系统达到指定的阈值限制时,它可以发送电子邮件警报.它可以监视 CPU 利用率.内存利用率.交换利用率.磁盘空间利用率等所有内容. 如果你只有很少的系统并且想要监视它们,那么编写一个小的 shell 脚本可以使你的任务变得非常简单. 在本教程中,我们添加了两个 shell 脚本来监视 Linux 系统上的内存利用率.当系统达到给定阈值时,它将给特定电子邮件地址发邮件. 方法-1:用 Linux Bash 脚本监视内存利用率并发
-
Bash 脚本实现每次登录到 Shell 时可以查看 Linux 系统信息
Linux 中有很多可以查看系统信息如处理器信息.生产商名字.序列号等的命令.你可能需要执行多个命令来收集这些信息.同时,记住所有的命令和他们的选项也是有难度. 你可以写一个 shell 脚本 基于你的需求来自定义显示的信息. 以前我们出于不同的目的需要写很多个 bash 脚本. 现在我们写一个新的 shell 脚本,在每次登录到 shell 时显示需要的系统信息. 这个j脚本有 6 部分,细节如下: 通用系统信息 CPU/内存当前使用情况 硬盘使用率超过 80% 列出系统 WWN 详情 Ora
随机推荐
- asp中Scripting.Dictionary字典对象使用示例
- DW使用中的常见问题与解答
- Python实现将不规范的英文名字首字母大写
- 实例详解ECMAScript5中新增的Array方法
- JavaScript插件化开发教程 (一)
- js利用clipboardData实现截屏粘贴功能
- javascript实现 在光标处插入指定内容
- JavaScript中setInterval的用法总结
- 微信小程序之页面拦截器的示例代码
- 简单分页函数一 常用
- MFC扩展DLL中导出类和对话框的实现方法
- python利用拉链法实现字典方法示例
- Python简单日志处理类分享
- jQuery快速上手:写jQuery与直接写JS的区别详细解析
- jQuery Mobile 和 Kendo UI 的比较
- Win2003 服务器安全配置技巧第1/3页
- Centos7远程桌面 vnc/vnc-server的设置详解
- 一篇文章搞定Struts2的类型转换
- servlet Cookie使用方法详解(六)
- iOS中containsString和rangeOfString的区别小结