
Shell
遇星
我想成为我自己
展开
-
shell $开头的那些特殊变量
$0,当前脚本文件名$n,如$1,第一个参数值$$,当前脚本对应的进程pid$#,参数个数$*,所有的参数值$?,上一条命令的返回值[sam]$ cat test.sh #!/bin/bashecho '$0,'$0echo '$1,'$1echo '$$,'$$echo '$#,'$#echo '$*,'$*echo '$?,'$?[sam]$ [sam]$ sh...原创 2019-11-20 15:20:24 · 172 阅读 · 0 评论 -
MySQL全库备份脚本设计
针对MySQL全库备份设计如下:1.在本地实例中创建backinfo.backupinfo表,在备份开始前记录开始时间,备份结束后记录结束时间,开始时间可用于恢复校验;2.创建远端实例和backinfo.backupinfo表,同上,记录每次备份的相关信息,包括备份开始时间,结束时间,备份文件大小,rsync传输时间等,便于观察历史情况;3.备份过程中,利用xtrabackup的流式备份,边...原创 2019-04-12 10:51:03 · 229 阅读 · 0 评论 -
利用shell和expect结合实现后台scp大文件
今天想要扩机房传输一个33G的压缩文件,传输速度只有1.7M/s,如果用scp,需要长时间保持终端不关闭,且网络不能断。为了把scp放在后台运行,并自动输入远端用户密码,利用expect,写了如下脚本:cat scp_auto.sh#!/bin/bash#usage:sh scp_auto.sh /backup/mysql_full_backup/xxx.tar.gz bmviewer@r...原创 2019-04-11 14:01:40 · 899 阅读 · 0 评论 -
批量复制查找到的多个文件
[root@master test]# lssam.c sam.sh sam.txt test1 test2 test3将所有sam开头的文件都复制到/root/tmp目录下:1.ls sam*|xargs -i cp {} /root/tmp-i选项将{}替换成ls传递过来的文件名,一次替换一个,可以通过-t打印执行过程来观察实际操作:[root@master test]#...原创 2019-05-06 14:56:20 · 1527 阅读 · 0 评论