写一个linux远程取文件的脚本,要去有日志函数
时间: 2024-02-09 15:09:04 浏览: 113
下面是一个在Linux系统中远程取文件的Shell脚本,同时包含了日志函数:
```
#!/bin/bash
# 定义日志函数
function log {
echo "$(date +"%Y-%m-%d %H:%M:%S") $1" >> /var/log/mylog.log
}
# 定义远程主机IP、用户名、密码、文件目录和文件名
remote_host=192.168.0.100
remote_user=myuser
remote_password=mypassword
remote_dir=/path/to/directory
file=myfile.txt
# 判断目录是否存在,如果不存在则创建
sshpass -p "$remote_password" ssh "$remote_user"@"$remote_host" "[ ! -d $remote_dir ] && mkdir -p $remote_dir"
# 复制文件到本地目录
sshpass -p "$remote_password" scp "$remote_user"@"$remote_host":"$remote_dir/$file" /local/path/
# 输出日志
log "Copy file $remote_host:$remote_dir/$file to /local/path/"
```
脚本中,`log`函数用于输出日志到`/var/log/mylog.log`文件中。`remote_host`、`remote_user`、`remote_password`、`remote_dir`和`file`分别表示要复制的文件所在的远程主机IP、用户名、密码、目录和文件名。首先判断目录是否存在,如果不存在则在远程主机上创建。接着使用`sshpass`和`scp`命令将文件复制到本地目录,并输出日志。你需要将脚本中的参数替换为你自己的参数,然后保存为`.sh`文件,并赋予执行权限,即可执行。
阅读全文