понедельник, 30 мая 2016 г.

скачать файлы с FTP

How FTP Multiple Files from the Command Line

источник

Many times I am challenged to move many similar files from one server to another.  Either I have to remote-desktop on to the server (Windows), or have a session on the server (AIX, Linux).  In these situations, I do not have a nice GUI utility, like FTP Voyager, setup to move my files.  There are some good basic commands in FTP that make life easier to move many like files.
C:\ ftp <my server name>
ftp> bin
ftp> prompt no
ftp> mget <start of the like files> *

Below are commands that I use to move multiple files at in a couple commands.
binary or bin: when you set to binary mode, you’ll receive a message “200 Type set to I”.  The default mode for FTP is ASCII.  Binary mode transmits the raw bytes of a file.  This is useful when moving zipped or executable file.  If you transmit your executable or zipped file in ASCII mode, you may find it corrupted on the receiving server.  To save time & typing, you can type “bin”, and the FTP utility will recognize it as the command “binary”.
prompt no: by default the prompt is set on to check if you want the download the file.  When you set your prompt mode to no, your will get an message “Interactive mode OFF”.  By setting the prompt to no, the FTP utility will automatically download multiple files without prompting.
Below is an example of being prompted for each file & why you may want to avoid this (you have to type either y or n for each file):
— very bad if you have to move hundreds to thousands of files
mget: this command can retrieve multiple files at a time.  View some of the example below:
FTP> mget file01 file02 file03
separate each file with a space
FTP> mget filename*
FTP> mget *.txt
start or finish with the common characters in the file name, and the star (*) can be used as a wildcard character
mput: this command is used like mget to upload multiple file to the remote computer
FTP> mput file01 file02 file03
separate each file with a space
FTP> mput filename*
FTP> mput *.txt
start or finish with the common characters in the file name, and the star (*) can be used as a wildcard character
Why I write this:
When I started working more with linux & AIX operating systems, I remember spending a lot of time to put together all the commands that I would need to upload system patches or to script the movement of log files.  This week, cleaning up my personal folder, I found the notes I had to put these together.  My hope is that these notes helps someone cut down on the number of message board they have to search to find the commands need to accomplish these tasks.

Ftp за NAT

Ftp за NAT проброс портов и настройка диапазона. 

за основу взята статья

Стандартная задача - пробросить ftp за Nat. Небольшая сложность в том, что нужно кроме 21 порта пробросить диапазон дополнительных портов и настроить сам ftp на указаение данного диапозона и ip внешнего интерфейса.
К примеру, выделим для ftp порт 2100 и 10000-10100
Локальный ftp сервер работает на 192.168.122.100 порт 21.

Тогда настройки iptables для "шлюза":

iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 2100 -j DNAT --to-destination 192.168.122.100:21
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 10000:10100 -j DNAT --to-destination 192.168.122.100

И в самом ftp надо указать эти нюансы. В случае vsftpd это делается добавлением строк:

pasv_min_port=10000 ;Указываем используемые сервером порты, первый
pasv_max_port=10100 ;и последний
pasv_address=_внешний_ip_шлюза_

В первом приблежении можно считать настроенным.

 Правила firewall на gate:

$IPT -t nat -A PREROUTING -i $REAL_IF -p tcp -m tcp --dport 60021 -j DNAT --to-destination 192.168.0.57:21

$IPT -t nat -A PREROUTING -i $LOCAL_IF -p tcp -m tcp --dport 60021 -j DNAT --to-destination 192.168.0.57:21

 $IPT -t nat -A PREROUTING -i $LOCAL_IF -p tcp -m tcp --dport 10000:10100 -j DNAT --to-destination 192.168.0.57

$IPT -t nat -A PREROUTING -i $REAL_IF -p tcp -m tcp --dport 10000:10100 -j DNAT --to-destination 192.168.0.57



добавить в функцию  на firewallе :
 function default_policy()
{
    /sbin/modprobe ip_conntrack
    /sbin/modprobe ip_conntrack_ftp
    /sbin/modprobe ip_nat_ftp

....
}

 конфиг proftpd:


 Include /etc/proftpd/modules.conf
UseIPv6 off
ServerType standalone
MaxInstances 30
SystemLog   /var/log/proftpd/proftpd.log

TimesGMT off
SetEnv TZ :/etc/localtime


        CharsetLocal KOI8-R
        CharsetRemote CP1251


#UseReverseDNS off

MasqueradeAddress 100.100.100.100

PassivePorts 10000 10100

  <IfModule mod_facts.c>
    FactsAdvertise off
  </IfModule>

ServerName "oen_PR_ftp"
DeferWelcome off
Port 21
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin                    welcome.msg
ListOptions                 "-l"
DenyFilter \*.*/
# Пользователь, под которым будет запускаться FTP-сервер
User proftpd
# Группа, с которой будет запускаться FTP-сервер
Group nogroup
# Маска (права доступа) для файлов (первое значение 022) и каталогов (второе значение 022), создаваемых в каталогах
Umask 022  022
# Разрешить перезаписывать существующие файлы
AllowOverwrite on
# Для каждого пользователя в качестве корневого каталога устанавливаем его домашнюю папку. В этом случае пользователь не сможет выйти выше, т.е. попасть в /var/ftp или /var/ftp/check
DefaultRoot ~

# Настраиваем права доступа к пользовательским каталогам

# для каталога  /ftp/check:
<Directory /var/ftp/check>
# Пусть check имеет полный доступ к своей папке (закачивать файлы, скачивать файлы, создавать папки, удалять )
Umask                022  022
<Limit WRITE>
AllowUser check
</Limit>
</Directory>
# Настраиваем логи
TransferLog /var/log/proftpd/xferlog

# Отключаем проверку командного интерпретатора пользователя
RequireValidShell off
# указываем файл с учетными записями для авторизации пользователей
AuthUserFile        /etc/proftpd/ftpd.passwd
# Include other custom configuration files
Include /etc/proftpd/conf.d/
AllowForeignAddress on








среда, 25 мая 2016 г.

Windows - schedule tasks in command line using schtasks

Windows - schedule tasks in command line using schtasks

source

You may need the following schedules in Windows:
 1) every day ftp file to another computer on 11:00pm
2) every day check new files created and redirect the result to a log file
3) every day dump mysql database
4) check any malware run in schedule

You can use   schtasks in comman prompt.
1) schtasks help
schtasks /?
2) Query existing schedules
schtasks /QUERY /FO LIST   /V
3) Create a new schedule
 schtasks /create /tn TaskName /tr TaskRun /sc schedule [/mo modifier] [/d day]
 [/m month[,month...] [/i IdleTime] [/st StartTime] [/sd StartDate] [/ed EndDate]
 [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]] /?


Example
I have ftp script: ftp1.txt
open 137.82.***.***
username
password
lcd C:\sql_dumps\mysql_admin
cd dbfile
mput *.sql
y
bye


I create a executable file jiansen_ftp.bat
ftp -s:ftp1.txt

Create a schedule to run jiansen_ftp.bat every day 23:58:00
 schtasks /create /tn "myftp" /tr C:\sql_dumps\jiansen_ftp.bat  /sc daily /st 23:58:00
Video: Windows - schedule tasks in command line using schtasks


четверг, 5 мая 2016 г.

обрезать ffmpeg mp4 видео из консоли бесплатно



There are two ways how to split video files by ffmpeg. The first one is good in itself, more than that - it is faster, but sometimes creates output files with certain flaws. So for those cases there is the second way of splitting video files: it is considerably slower, the output files are bigger, but it seems they are always of the same quality level as input files used.
Way 1:
ffmpeg -ss <start> -i in1.avi -t <duration> -c copy out1.avi
Way 2:
ffmpeg -ss <start> -i in1.avi -t <duration> out1.avi
  • <start> – the beginning of the part of a video ffmpeg is to cut out. Format: 00:00:00.0000, meaning hours:minutes:seconds:milliseconds.
  • <duration> – the duration of the part of a video ffmpeg is to cut out. Same format as above.
Examples:
ffmpeg -ss 01:19:00 -i in1.avi -t 00:05:00 -c copy out1.avi
ffmpeg -ss 01:19:00 -i in1.avi -t 00:05:00 out1.avi
ffmpeg cuts out a part of the video file starting from 1 hour 19 minutes 0 seconds. The duration of the video sequence cut out is 5 minutes 0 seconds.
качаем:
http://ffmpeg.org/download.html

еще!!:
 http://trac.ffmpeg.org/wiki/Seeking

источник

включить .NET Framework в инсталляционный пакет (не проверено)

Если конкретно, то включить .NET Framework в инсталляционный пакет можно в свойствах проекта: Properties > Publish > Prerequisites, здесь выбираем версию - 2.0, 3.0 или 3.5. Поставив галочку в нужном чекбоксе, публикуем приложение: Build > Publish или прямо из окна свойств.
(Писал по среде Visual Studio 2008. В 2005, если не изменяет память, было несколько иначе, но думаю разберётесь).


Источник.