.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "WebDeploy 1" .TH WebDeploy 1 "2015-09-11" "Version 1.0" "WebDeploy - Deploy files via FTP" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" webdeploy \- Deploy local files to an ftp server. .SH "SYNOPSIS" .IX Header "SYNOPSIS" webdeploy [options] .PP Options: .PP \&\-\-exclude Specify the name of the exclude file. (default: '.exclude') .PP \&\-\-globalexclude Specify the name of the global exclude file. (default: '.globalexclude') .PP \&\-\-server Specify the host name or address. .PP \&\-\-port Specify the port number for the connection. (default: 21) .PP \&\-\-server\-root Specify the root folder on the server where files should be uploaded. .PP \&\-\-user Specify the user name for login. (defaults to current user) .PP \&\-\-no\-ftps \-\-no\-tls Disable Transport Layer Security (\s-1TLS\s0) to use plain \s-1FTP\s0 instead of \s-1FTPS\s0 .PP \&\-\-dry\-run Print the list of local files that will be checked for upload, exit without uploading. .PP \&\-\-ftp\-dry\-run Log in to the \s-1FTP\s0 server to check which local files are new or out of date, exit without uploading. .PP \&\-\-config Specify configuration file (default: '.webdeploy_conf') .PP \&\-\-help brief help message .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-\-exclude\fR" 4 .IX Item "--exclude" Specify the name of an exclude file. Before WebDeploy scans a directory for files to upload, it will read the exclude file. Any directories listed in the exclude file will not be scanned, any other file in the directory that are listed in the exclude file will not be uploaded. This happens in each directory that is scanned. An exclude file is uniqe to the directory. All exclude files must have the same name however. By default, WebDeploy looks for a file called '.exclude'. If the file doesn't exist then nothing will be excluded. See exclude files section below for more details. .IP "\fB\-\-globalexclude\fR" 4 .IX Item "--globalexclude" This is much the same as the normal exclude file. The difference is that this file is only looked for in the root directory (where you ran webdeploy) and all exclusions in this file are applied to every directory scanned. See exclude files section below for more details. .IP "\fB\-\-server\-root\fR" 4 .IX Item "--server-root" This specifies the root directory on the server that will be used for upload. Any files in your root working direct when you run webdeploy will be uploaded to this folder. If you set this option, make sure you specify a directory without a trailing slash. .Sp For example, if you want your files uploaded to '/var/www/' on the server, then use the option '\-\-server\-root /var/www' .IP "\fB\-\-dry\-run\fR" 4 .IX Item "--dry-run" Print the list of local files that will be checked for upload, exit without uploading. This is useful for checking that you have set up the exclude files correctly. .IP "\fB\-\-ftp\-dry\-run\fR" 4 .IX Item "--ftp-dry-run" Log in to the \s-1FTP\s0 server to check which local files are new or out of date on the server, exit without uploading. This is useful for checking which files you have updated or created since the last deploy. This also shows the directory on the server that will be used as the root directory for upload. The root directory can be set with \-\-server\-root .PP Note that all options can be specified using any unique abbreviation. (\-\-conf is the same as \-\-config, however \-\-ser is invalid because it is the start of \-\-server and \-\-server\-root) .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBWebDeploy\fR will upload files from the current local directory to an \s-1FTP\s0 server. Files are only uploaded if the local version is newer than the server version. Files can be excluded using the 'exclude' and 'globalexclue' options. .SH "CONFIG FILES" .IX Header "CONFIG FILES" By default, WebDeploy will look for a file called .webdeploy_conf in the current directory. If this file is found then it will load the options from this file. You can specify a different config file on the command line using the \-\-config option. .PP All of the options that are available on the command line (except for the \-\-config option) can be specified in a config file. .PP A config file must consist only of blank lines, comment lines (that start with a '#' symbol) and option lines (which are key-value-pairs). Option lines take the form of '\s-1KEY\s0 = \s-1VALUE\s0'. All characters after the first equals sign (sans leading and trailing blanks) are considered to be part of the value. A value can therefore contain an equals sign without any special escaping. .PP Note that no warnings will be issued if an option is specified on both the command line and the config file. In this case, the config file has priority. .PP Also note that option names (keys) in configuration files cannot be abbreviated like command line options. .PP Here is an example configuration file: .PP .Vb 3 \& # Server connection details \& server = ftp.example.com \& port = 1234 \& \& # Login user name \& user = daniel \& \& # Server\*(Aqs public html folder \& server\-root = var/www .Ve .SH "EXCLUDE FILES" .IX Header "EXCLUDE FILES" An exclude file will consist only of blank lines, comment lines (that start with a '#' symbol) and patterns to match files to exclude. .PP To exclude a file called 'foo' you could use a config file like this: .PP .Vb 2 \& # Exclude the file \*(Aqfoo\*(Aq \& foo .Ve .PP To exclude all files that end with '.foo' you can use a wildcard pattern like this: .PP .Vb 2 \& # Exclude all files with the foo extension. \& *.foo .Ve .PP You can also match against a class of characters: .PP .Vb 2 \& # Exclude a.foo and b.foo but not c.foo \& [ab].foo .Ve .PP To exclude a directory, simply name the directory without any leading or trailing slashes: .PP .Vb 2 \& # Exclude the \*(Aqsrc\*(Aq directory \& src .Ve .PP Gotcha: a directory could match a pattern you intended to only apply to regular files .SH "EXAMPLES" .IX Header "EXAMPLES" Upload files via a plain ftp connection to ftp.example.com, port 1234 as user 'user@example.com' .PP .Vb 1 \& webdeploy \-\-server=ftp.example.com \-\-user=user@example.com \-\-port=1234 \-\-no\-tls .Ve .PP See which files need uploading (have changed since the last upload) using the settings in 'my_config.conf' .PP .Vb 1 \& webdeploy \-\-config my_config.conf \-\-ftp\-dry\-run .Ve .PP See what files will be uploaded (perhaps to test a .exclude rule) .PP .Vb 1 \& webdeploy \-\-dry\-run .Ve .SH "LIMITATIONS" .IX Header "LIMITATIONS" WebDeploy currently doesn't support \s-1SFTP \s0(\s-1FTP\s0 via \s-1SSH\s0) .PP WebDeploy can only be used for uploading content in the current directory. It is not possible to upload content from a different directory without first changing to that directory. .SH "AUTHOR" .IX Header "AUTHOR" WebDeploy was written by Daniel Bailey .PP Contact: info\-d@nielbailey.com .SH "REPORTING BUGS" .IX Header "REPORTING BUGS" Please report bugs via email directly to Daniel Bailey using the email address: webdeploy\-bug\-d@nielbailey.com .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright 2015 Daniel Bailey .PP License GPLv3+: \s-1GNU GPL\s0 version 3 or later . .PP This is free software: you are free to change and redistribute it. .PP There is \s-1NO WARRANTY,\s0 to the extent permitted by law.