首页 > 系统相关 >shell脚本的运行方式

shell脚本的运行方式

时间:2024-03-17 21:13:20浏览次数:22  
标签:脚本 rsync shell script sh backup 运行

shell脚本的运行方式

运行shell脚本的几种主要方式如下:

  1. 赋予可执行权限后执行

    • 先通过chmod命令给脚本添加执行权限:
      chmod +x script.sh
      
    • 然后,通过绝对路径或相对路径执行脚本:
      ./script.sh    # 如果当前目录下有script.sh
      /path/to/script.sh    # 如果脚本位于其他目录
      
  2. 使用bash或sh命令执行

    • 不需要给脚本增加执行权限,直接通过bash或sh命令执行:
      bash script.sh
      sh script.sh
      /bin/bash script.sh
      /bin/sh script.sh
      
  3. 使用source命令或.执行

    • 在当前shell环境中执行脚本,这样脚本中设置的变量、函数等将影响当前shell:
      source script.sh
      . script.sh
      

总结起来,以下是具体的执行方式:

  • 直接执行(需先赋予可执行权限)

    chmod +x script.sh
    ./script.sh
    
  • 通过shell解释器执行

    bash script.sh
    sh script.sh
    
  • 在当前shell上下文中执行

    source script.sh
    . script.sh
    

每种执行方式都有其特点,直接执行会在一个新的子shell进程中运行脚本,而使用source.执行则在当前shell进程中运行,使得脚本中改变的环境变量和函数作用于当前shell。

备份脚本解释

#!/bin/bash
mkdir -p /backup
tar zcvfP /backup/www_$(date +%F).tar.gz /html/www
find /backup/ -type f -mtime +10|xargs rm

rsync -avz /backup/* [email protected]::backup --password-file=/etc/rsync.password
这段Shell脚本包含了几个命令步骤,实现的功能概括如下:

1. **创建备份目录**:
   - 使用`#!/bin/bash`作为脚本的shebang行,指明该脚本采用bash shell进行解析执行。
   - `mkdir -p /backup` 创建(如果不存在的话)/backup目录。参数-p的作用是如果父目录不存在,则自动创建(parents)。

2. **打包并压缩指定目录**:
   - `tar zcvfP /backup/www_$(date +%F).tar.gz /html/www` 命令会把/html/www目录下的所有文件和子目录打包成gzip压缩格式的tar文件,并命名为以当前日期结尾的形式,存放在/backup目录下。

3. **清理旧的备份文件**:
   - `find /backup/ -type f -mtime +10|xargs rm` 查找/backup目录下修改时间超过10天的所有文件(-mtime +10),然后通过管道传递给`xargs rm`命令删除这些文件。

4. **通过rsync同步备份至远程服务器**:
   - `rsync -avz /backup/* [email protected]::backup --password-file=/etc/rsync.password` 使用rsync工具,以归档(-a)、递归(-r,由于-a选项已包含-r所以此处无需再写-r)、压缩(-z)的方式,将/backup目录下的所有文件同步到远程服务器(IP地址:10.0.1.134)上名为"backup"的模块中。密码信息从/etc/rsync.password文件中获取。

在运行此脚本之前,请确保:

- 用户有创建、读取/html/www目录以及写入/backup目录的权限;
- 确保远程服务器上的rsync服务已经开启,并且rsync_backup用户可以登录,同时/etc/rsync.password文件存在且有正确的rsync连接密码;
- 当前主机和远程服务器之间的网络连接畅通。

标签:脚本,rsync,shell,script,sh,backup,运行
From: https://www.cnblogs.com/nwq1101/p/18079162

相关文章

  • 上位机图像处理和嵌入式模块部署(qmacvisual脚本编辑)
    【 声明:版权所有,欢迎转载,请勿用于商业用途。联系信箱:[email protected]】    个人认为qmacvisual软件中,另外一个鲜明的特色,就是它本身支持javascript脚本编写,虽然是利用qtscriptengine完成的。这个脚本编写,让fae或者说现场部署的同学一下子有了配置插件、调整......
  • 处理windows下端口引发的程序运行问题
    最近用Windows10才遇到的问题在这之前我也用了很久的Win10了,却一直没有遇到过觉得有些奇葩,做下简单记录简述如果你在Windows下运行一些需要使用端口的软件,但是软件运行中发生莫名问题那么恭喜你这篇文章可能能帮助到你Windows的动态端口范围Windows中有一个......
  • 滴水逆向笔记系列-win32总结9-61.CE使用-62.ShellCode_远程线程注入
    第六十一课CE使用下载完CE后用ce自带的小作业练练1.第二题先打开进程Firstscan搜索100,发现有很多100,我们先让右边程序Hitme,然后Nextscan搜索96,发现已经搜出来了,正常数据会很多,就需要继续改继续搜,最后点击下面value修改为1000即可2.第三题先NewScan搜索小于500的,点击......
  • windows C++实现控制台应用程序隐藏后台运行
    C++实现程序隐藏后台运行,效果如下:方式一:#pragmacomment(linker,"/subsystem:\"windows\"/entry:\"mainCRTStartup\"")  方式二:   ......
  • Python运行环境的搭建(Window11操作系统)
    1.在浏览器搜索、登录http://www.python.org2.点击Downloads进入下载界面 3.点击DownloadPython3.12.0下载2023年最新版 提示:如果我们直接在此界面下载,下载速度会很慢(一秒十几kb),如果有时间可以选择等待半个小时直到下载完成。如果不想等那么久可以使用IDM(收费),或者迅......
  • harbor命令行-python脚本-调用http API
    因为生产环境没有UI界面,也没有开放端口资源出来,无法通过web界面来管理harbor,故调用harbor提供的httpAPI来获取harbor信息和使用常用的功能。importrequestsimportjsonimporturllib.parsemy_auth=('admin','Lovedan@971220')harbor_addr="https://127.0.0.1"def查询......
  • Pytorch实践学习笔记一(附可运行详细代码实例)
    一、Pytorch的诞生        2017年1月,FAIR(FacebookAIResearch)发布了PyTorch。PyTorch是在Torch基础上用python语言重新打造的一款深度学习框架。Torch是采用Lua语言为接口的机器学习框架,但是因为Lua语言较为小众,导致Torch学习成本高,因此知名度不高。......
  • Windows PowerShell 执行脚本,改变执行策略
    默认情况下,WindowsPowerShell不会执行脚本。需要更改他的执行策略:使用Set-ExecutionPolicy来改变执行脚本的策略,可以输入get-helpSet-ExecutionPolicy-Online来查看在线文档。例如: 他有多种策略可以使用。-ExecutionPolicy指定执行策略。如果没有组策略,并且每个范......
  • Ollama 可以在 Windows 上运行了
    Ollama可以在Windows上运行了0.引言1.下载Ollma安装文件2.安装Ollama3.使用Ollama4.(可选)环境变量5.(可选)修改默认模型6.(可选)ollamals不能正确显示OLLAMA_MODELS设置路径的模型0.引言Ollama终于可以在Windows上运行了,一直以来都是“Comingsoon”。运......
  • 实验报告1-熟悉C语言运行环境
    实验报告1实验名称:实验一熟悉C语言运行环境实验类型:验证性实验日期:2023年3月14日一、实验目的下载安装Dev-c6.0程序。了解在该系统上如何进行编辑、编译、连接和运行一个C程序。通过运行简单的C程序了解C程序的特点。二、实验硬、软件环境Windows计算机、Dev-c6.0三......