GNU date
имеет точность наносекунды через %N
.
every=3 # test every n'th itteration
bsecs=0.95 # break at secs (float)
bnano=$(printf '%0.9f' "$bsecs"); bnano=${bnano/./};
# avoid lead '0' octal clash when time slice < 1 sec
shopt -s extglob; bnano=${bnano#+(0)}
tprev=$(date +%s%N)
for i in {1..24} ;do # just a test loop
if ((i%every==1)) ;then
tnow=$(date +%s%N)
if ((tnow-tprev>=bnano)) ;then
echo "Auto Break! $every itteratons took longer than $bsecs secs"
break
fi
((tprev=tnow))
fi
# do something, eg sleep for testing
sleep 1.$i; echo $i
done
Используйте инструмент PSCP от страницы загрузки шпаклевки:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
PSCP является версией шпаклевки scp, который является CP (копия) по команде ssh.
PSCP должен быть установлен на Вашем компьютере окон (просто загруженный, действительно, нет никакого процесса установки. В разделе Packaged Files pscp.exe уже включен). Ничто не должно быть установлено на серверах школы. PSCP и scp оба использования ssh для соединения.
Отвечать на вопрос использования из комментариев:
Загружать с Вашего компьютера на удаленный сервер:
c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path
Это загрузит файл file.txt на указанный каталог на сервере. Если заключительная часть целевого пути НЕ будет каталогом, то это будет новое имя файла. Вы могли также сделать это для загрузки файла с другим именем:
c:\pscp c:\some\path\to\a\file.txt user@remote:\home\user\some\path\newname.txt
Загружать файл с удаленного сервера на Ваш компьютер:
c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\
или
c:\pscp user@remote:\home\user\some\file.txt c:\some\path\to\a\newfile.txt
или
c:\pscp user@remote:\home\user\some\file.txt .
С одинокой точкой в конце там. Это загрузит указанный файл на текущий каталог.
Так как комментарий слишком далеко снижается, я должен также указать здесь, что WinSCP существует, обеспечивая GUI для всего этого, если это представляет интерес: http://winscp.net/eng/download.php
Вам, возможно, придется использовать прямые косые черты (/) для разговора с серверами LINUX/UNIX
c:\pscp c:\some\path\to\a\file.txt user@remote:/home/user/some/path
Вы можете просто Ball много файлов с помощью TAR
:
tar -cz . | ssh me@school -- 'tar -C/path/to/target/dir -xz'
:
tar -cz . | ssh me@school -- 'tar -C/path/to/target/dir -xz'
... который будет рекурсивно сжать и поток всех файлов в текущем каталоге на локальном компьютере к целевому пути, одновременно без рассмотрения и расширяя поток на удаленной машине.
Вы можете сделать подобные вещи для всего, что пишет на Stdout. CAT
является очевидным выбором:
cat ./localfile | ssh user@remote 'cat >./remotefile'
вы можете использовать Windows PowerShell (на самом деле это команда OpenSSH, ее можно использовать и в любой ОС UNIX):
scp -P <non-default target ssh port> "<source file>" <username>@<hostname/address>:<destination path>
-P
может быть опущен, если ssh открыт на порту по умолчанию (22)
поменять местами локальный и удаленный пути для копирования файла с удаленного хоста
напр.:
команда:
локальный (win )-> удаленный (unix):
scp -P 1688 "D:\MEGA\ps.key" nick@192.168.88.242:/home/nick/ps.key
удаленный ->локальный (копировать с удаленного хоста):
scp -P 1688 nick@192.168.88.242:/home/nick/ps.key "D:\MEGA\ps.key"
После этого вы должны подтвердить отпечаток целевого ключа (, если вы ранее не подключались к этому хосту через PowerShell )и аутентифицировать себя на удаленном хосте (ввести пароль пользователя или пароль ключа ssh -, если агент ssh -не используется ).
должен работать на win10 без каких-либо установок, так как там -встроен OpenSSH
Так как вы уже знакомы с замазкой. Я предлагаю вам взглянуть наhttps://mobaxterm.mobatek.net/. В MobaXterm есть все необходимое для удаленной работы в Linux с компьютера под управлением Windows, включая ssh, sftp, scp, Xwindows. На мой взгляд, это намного лучше, чем шпаклевка.
pscp source "path_to_local_file" user@host:path_to_new_location
? Я заставил это работать с отъездом пути на удаленном пробеле машины, это просто поместило его в мой корневой каталог. – Alex Mohr 28.09.2013, 01:49