linux执行crontab、脚本命令及chmod

本文介绍了一个Linux环境下的定时任务脚本,该脚本通过crontab设置定期执行,用于从远程FTP服务器获取备份文件并加载到本地系统中。详细展示了如何配置环境变量、删除特定文件、执行远程文件获取及加载操作。

02 09 * * * sh /home/db2inst1/symisdb/load/backup.sh > /home/db2inst1/symisdb/load/backup.log


*   *   *  *  *   分别代表:分钟,小时,几号,月份,星期几


backup.sh文件内容:

. /home/db2inst1/.bash_profile                                         加入环境变量

rm -f /home/db2inst1/symisdb/*.del                                 -f为删除无提示,-r为循环删除子文件夹内容

sh /home/db2inst1/symisdb/load/getfile.sh                    写出命令所在位置的完整路径

sh /home/db2inst1/symisdb/load/load.sh


其中getfile.sh为:

/usr/bin/ftp -n<<!

open 21.60.121.21

user db2isnt1 db2isnt1

binary

cd /usrproc/xhxdbbackup/BACKUP/EDW

lcd /home/db2inst1/symisdb

prompt off    --提示关闭

mget *          --传输多个文件

close

bye

!


最后对getfile.sh及load.sh赋可执行权限    chmod 755 getfile.sh

linux命令chmod 755的意思
 
chmod是 Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。
 
一般是三个数字:
第一个数字表示文件所有者的权限
第二个数字表示与文件所有者同属一个用户组的其他用户的权限
第三个数字表示其它用户组的权限
权限分为三种:读(r=4),写(w=2),执行(x=1) 。 综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。
 所以,chmod 755 设置用户的权限为:
1.文件所有者可读可写可执行                                   --7
2.与文件所有者同属一个用户组的其他用户可读可执行             --5 
3.其它用户组可读可执行                                       --5

Linux 系统中,执行脚本命令的方法有多种,具体取决于脚本的类型、执行权限以及需求。以下是几种常见的执行方法及其适用场景: ### 1. 使用 `./script.sh` 执行脚本 此方法要求脚本文件具有可执行权限。通过 `chmod +x script.sh` 添加执行权限后,可以使用 `./script.sh` 来运行脚本。这种方式会在子 Shell 中运行脚本,不会影响当前 Shell 的环境变量 [^3]。 ### 2. 使用 `bash script.sh` 或 `sh script.sh` 执行脚本 如果脚本没有可执行权限,可以使用解释器直接运行脚本。例如,使用 `bash script.sh` 或 `sh script.sh` 命令。这种方式也会在子 Shell 中运行脚本,并且不会修改当前 Shell 的环境变量 [^3]。 ### 3. 使用 `source script.sh` 或 `. script.sh` 执行脚本 通过 `source script.sh` 或 `. script.sh` 命令,可以在当前 Shell 中执行脚本。这种方式适用于需要修改当前 Shell 环境变量的脚本,例如设置路径或环境变量 [^3]。 ### 4. 使用 `subprocess` 模块在 Python 中执行脚本 在 Python 脚本中,可以使用 `subprocess` 模块来运行 Linux 命令脚本。例如,以下代码展示了如何执行命令并捕获输出: ```python import subprocess # 要运行的脚本 command = "./script.sh" # 使用 subprocess.run() 执行命令 result = subprocess.run(command, shell=True, capture_output=True, text=True) # 检查命令是否成功执行 if result.returncode == 0: # 打印命令输出 print(result.stdout) else: # 打印错误信息 print(result.stderr) ``` 这种方法适用于需要从 Python 程序中调用脚本的情况 [^2]。 ### 5. 使用 `docker run` 运行容器化脚本 如果脚本需要在特定的环境中运行,可以将其打包到 Docker 容器中。使用 `docker run` 命令可以运行容器化脚本。例如: ```bash docker run -it --name my_container my_image ./script.sh ``` 该命令会启动一个容器并运行脚本。这种方式适用于需要隔离环境或依赖特定配置的脚本 [^4]。 ### 6. 使用 `nohup` 或 `&` 在后台运行脚本 如果脚本需要长时间运行,可以使用 `nohup` 或 `&` 将其放到后台运行。例如: ```bash nohup ./script.sh & ``` 这会将脚本在后台运行,并忽略挂断信号,确保脚本不会因终端关闭而终止 [^1]。 ### 7. 使用 `cron` 定时执行脚本 对于需要定期运行的脚本,可以使用 `cron` 定时任务。编辑 `crontab` 文件,添加如下行: ```bash * * * * * /path/to/script.sh ``` 该配置表示每分钟运行一次脚本。适用于自动化任务 。 ### 8. 使用 `at` 命令一次性执行脚本 如果需要在特定时间运行脚本一次,可以使用 `at` 命令。例如: ```bash at now + 5 minutes ./script.sh ``` 这将在 5 分钟后运行脚本 。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值