Windows下也可以执行类似Linux上的shell操作,例如要执行定时任务做备份等等。 安装地址:https://git-scm.com/download/win下载好安装包,一路下一步就可以了 运行程序中的Git Bash,出现以下界面:   基本上Linux下的基础命令在这里都能使用了(例如cd vim ls等等)。 有一个需求,例如在Windows下定期到一台Linux服务器上获取备份文件,我们写好了get_backup.sh,如下: #! /bin/sh # 定期当前的日期 nowdate=`…

2022-09-16 0条评论 85点热度 0人点赞 admin 阅读全文

在写Shell脚本的时候,有时候需要在文件指定的行上插入内容,但是又不方便用vim做交互的动作,这就可以用到『sed』命令来做到 假设我们准备好了test.txt文件,内容如下: echo -e "第1行\n第2行\n第3行\n第4行" > /tmp/test.txt cat /tmp/test.txt 第1行 第2行 第3行 第4行 示例1:在test.txt最开始第一行,加上『插入的内容』 # 插入的内容就是第几行,例如这个最开始插入内容 sed -i '1 i 插入的内容' /tmp/test.txt …

2022-09-13 0条评论 67点热度 0人点赞 admin 阅读全文

Linux的Shell时间和格式化,可以用在自动备份脚本中,有关Linux备份的示例,可以参考:https://blog.terrynow.com/2020/12/29/linux-bash-backup-script/ # 当前日期,格式化成类似:2021-12-20 nowdate=`date +%Y-%m-%d` echo $nowdate # 获得当前时间,格式类似:20220108-092211 nowdatetime=`date +%Y%m%d-%H%M%S` echo $nowdatetime 获得多…

2022-01-08 0条评论 203点热度 0人点赞 admin 阅读全文

history命令是显示之前执行过的命令的列表,下面介绍下最长用到的用法。 # 直接显示运行命令历史记录 history # 示例 [email protected] ~ history 1 cd Applications 2 brew info java ... # 如果你的历史记录很多,可以使用history | more 或者history | less 来分页查看 history | more history | less [email protected]:.ssh# history | more 48 2021-…

2021-03-22 1条评论 743点热度 0人点赞 admin 阅读全文

很多时候,我们写Shell脚本的时候,需要下载文件、根据是否下载到文件后(文件是否存在)来判断下一步的操作。 在Bash里,可以使用test来判断文件/文件夹是否存在,格式如下 test EXPRESSION [ EXPRESSION ] [[ EXPRESSION ]] 两个括号会比较常用,不过都可以试试 FILE=/opt/test.txt if [ -f "$FILE" ]; then echo "$FILE exists." fi #if else FILE=/opt/test.txt if [ -f "$…

2021-01-16 0条评论 485点热度 0人点赞 admin 阅读全文

编写Linux脚本的时候,有时需要等待用户输入变量,然后根据变量不同来执行接下来的操作, 举例如下: #!/bin/sh echo -n "Enter file name and press [ENTER]: " read file_name echo "file name is: $file_name" if [ -z "$file_name" ]; then echo 'empty file name, exit' else #执行接下来的操作 #... fi  

2021-01-09 0条评论 463点热度 0人点赞 admin 阅读全文

数据无价,服务器运行中,如果不做备份,总觉得心理毛毛的,每天备份还是很有必要的,以Linux为例,利用crontab定时任务,每天备份服务器数据,如果有MySQL服务,也dump一份数据,在本地服务器上保留3天的备份,方便有数据误删除等,可以随时恢复;最后也要将数据复制到其他远程服务器,或者网盘(例如Google Drive),防止服务器发生以外导致数据丢失。 脚本用到的rar程序下载,Linux版本,请到https://www.rarlab.com/download.htm #! /bin/sh #当天时间,比如…

2020-12-29 0条评论 606点热度 0人点赞 admin 阅读全文

运维的Bash脚本,有时候需要把bash运行结果post到一个网址,来看下怎么做: msg="So _advanced_ Much *innovations* ?" #post JSON curl -X POST \ -H 'Content-Type: application/json' \ -d '{"chat_id": "xxxx", "parse_mode": "Markdown", "text": "'"$msg"'"}' \ https://www.example.com/api #post form c…

2020-12-24 0条评论 893点热度 0人点赞 admin 阅读全文