sftp 上传 bash 忽略文件
sftp upload bash ignore files
我尝试实现一些半自动sftp
upload/deployment。主键是 NOT 上传所有文件。我不知道哪些文件该上传,但我知道哪些文件不该上传。
我的 bash 脚本如下所示:
#!/bin/bash
IP="123.123.123.123"
HOSTNAME="ftp.my-host.com"
PATH="subdirectory"
sftp username@$HOSTNAME:$PATH < "sftp-pattern"
我想在 sftp-pattern
文件中存储我的 sftp 命令。但我找不到任何提示如何忽略几种模式。喜欢 *.sql
。
理想情况下,我会忽略所有被 gitignored 的东西。
我没有有ssh连接。
由于您使用的是 shell 脚本,因此可以使用循环。像这样的东西应该有用。
#!/bin/bash
IP="123.123.123.123"
HOST="ftp.my-host.com"
DIR="/tmp/"
for f in `/bin/ls $DIR`
do
if echo $f | /usr/bin/grep '.sql' > /dev/null
then
echo SKIPPING $f
else
sftp username@$HOST:$DIR/$f
fi
done
如@Clijsters 所述,答案应该是 git-ftp。它的功能更丰富,不需要摆弄循环和管道。
dwrights 解决方案虽然有效,但如果您要排除 ONLY sql。
谢谢!!
我尝试实现一些半自动sftp
upload/deployment。主键是 NOT 上传所有文件。我不知道哪些文件该上传,但我知道哪些文件不该上传。
我的 bash 脚本如下所示:
#!/bin/bash
IP="123.123.123.123"
HOSTNAME="ftp.my-host.com"
PATH="subdirectory"
sftp username@$HOSTNAME:$PATH < "sftp-pattern"
我想在 sftp-pattern
文件中存储我的 sftp 命令。但我找不到任何提示如何忽略几种模式。喜欢 *.sql
。
理想情况下,我会忽略所有被 gitignored 的东西。
我没有有ssh连接。
由于您使用的是 shell 脚本,因此可以使用循环。像这样的东西应该有用。
#!/bin/bash
IP="123.123.123.123"
HOST="ftp.my-host.com"
DIR="/tmp/"
for f in `/bin/ls $DIR`
do
if echo $f | /usr/bin/grep '.sql' > /dev/null
then
echo SKIPPING $f
else
sftp username@$HOST:$DIR/$f
fi
done
如@Clijsters 所述,答案应该是 git-ftp。它的功能更丰富,不需要摆弄循环和管道。
dwrights 解决方案虽然有效,但如果您要排除 ONLY sql。
谢谢!!