Page 1 of 1

CLI Commands Run Without Options Give Unexpected Results

Posted: Sat Sep 12, 2015 6:12 pm
by SANDPOND
Hello:

Thanks for Vesta, it's a clean, nice, fast control panel.

Vesta advertises a "powerful" CLI. However, I find no documentation for the CLI scripts (commands). The "CLI commands" link is broken on the "Documentation" page at https://vestacp.com/docs/.

Nevertheless, I have not had any problems figuring out most of the commands.

Vesta says to run the commands without positional parameters in order to see the usage. The following is an example of normal CLI command/script behavior when run without parameters:

$ v-add-dns-on-web-alias
Error: not enought arguments
Usage: v-add-dns-on-web-alias USER DOMAIN ALIAS

However, a number of the CLI commands give unexpected results when run without parameters. Script usage is expected but a number of the scripts simply execute instead. A couple give odd output.

QUESTION (1): From examining the the script, "v-stop-firewall" stops the iptables firewall? But what script restarts it? This script, like many others, does not provide options, help, or feedback when executed without parameters. They just seem to silently execute. This might not be an issue if information about the script was provided in advance. Possibly such scripts should require a "yes/no" parameter to execute so they will exhibit the same "help" behavior as the other scripts, and not just "run" when no parameters are given. Obviously, each script needs clear documentation.

QUESTION (2): What do "v-delete-cron-restart-job" and "v-delete-cron-vesta-autoupdate" do? I ran these scripts (and others) because Vesta said to run them without parameters in order to see the usage (required parameters) and options.

QUESTION (3): In running these CLI commands, as instructed, to find out the required parameters and options, can they cause damage? I don't see analogous scripts to "v-delete-cron-restart-job" for "restoring" the "cron-restart-job".

Excuse this long post. Lack of CLI documentation inspired it. P.S.: "enought" is spelled "enough" ... it's a common typo.

I have determined that the scripts marked with an "*" run directly when no parameters are assigned:

v-add-backup-host TYPE HOST USERNAME PASSWORD [PATH] [PORT]
v-add-cron-job USER MIN HOUR DAY MONTH WDAY COMMAND [JOB] [RESTART]
v-add-cron-reports USER
* v-add-cron-restart-job
* v-add-cron-vesta-autoupdate
v-add-database USER DATABASE DBUSER DBPASS [TYPE] [HOST] [CHARSET]
v-add-database-host TYPE HOST DBUSER DBPASS [MAX_DB] [CHARSETS] [TPL]
v-add-dns-domain USER DOMAIN IP [NS1] [NS2] [NS3] [NS4]
v-add-dns-on-web-alias USER DOMAIN ALIAS
v-add-dns-record USER DOMAIN RECORD TYPE VALUE [PRIORITY] [ID] [RESTART]
v-add-domain USER DOMAIN [IP] [RESTART]
v-add-firewall-ban IP CHAIN
v-add-firewall-chain CHAIN [PORT] [PROTOCOL]
v-add-firewall-rule ACTION IP PORT [PROTOCOL] [COMMENT] [RULE]
v-add-mail-account USER DOMAIN ACCOUNT PASSWORD [QUOTA]
v-add-mail-account-alias USER DOMAIN ACCOUNT ALIAS
v-add-mail-account-autoreply USER DOMAIN ACCOUNT MESSAGE
v-add-mail-account-forward USER DOMAIN ACCOUNT FORWARD
v-add-mail-account-fwd-only USER DOMAIN ACCOUNT
v-add-mail-domain USER DOMAIN [ANTISPAM] [ANTIVIRUS] [DKIM] [DKIM_SIZE]
v-add-mail-domain-antispam USER DOMAIN
v-add-mail-domain-antivirus USER DOMAIN
v-add-mail-domain-catchall USER DOMAIN EMAIL
v-add-mail-domain-dkim USER DOMAIN [DKIM_SIZE]
v-add-remote-dns-domain USER DOMAIN [FLUSH]
v-add-remote-dns-host HOST PORT USER PASSWORD [TYPE] [DNS_USER]
v-add-remote-dns-record USER DOMAIN ID
v-add-sys-ip IP NETMASK [INTERFACE] [USER] [STATUS] [NAME] [NATED_IP]
* v-add-sys-quota
v-add-user USER PASSWORD EMAIL [PACKAGE] [FNAME] [LNAME]
v-add-user-package PKG_DIR PACKAGE
v-add-web-domain USER DOMAIN IP [RESTART]
v-add-web-domain-alias USER DOMAIN DOM_ALIAS [RESTART]
v-add-web-domain-backend USER DOMAIN [TEMPLATE] [RESTART]
v-add-web-domain-ftp USER DOMAIN FTP_USER FTP_PASSWORD [FTP_PATH]
v-add-web-domain-proxy USER DOMAIN [TEMPLATE] [EXTENTIONS] [RESTART]
v-add-web-domain-ssl USER DOMAIN SSL_DIR [SSL_HOME] [RESTART]
v-add-web-domain-stats USER DOMAIN TYPE
v-add-web-domain-stats-user USER DOMAIN STATS_USER STATS_PASS
v-backup-user USER [NOTIFY]
* v-backup-users
v-change-cron-job USER JOB MIN HOUR DAY MONTH WDAY COMMAND
v-change-database-host-password TYPE HOST DBUSER DBPASS
v-change-database-owner DATABASE USER
v-change-database-password USER DATABASE DBPASS
v-change-database-user USER DATABASE DBUSER [DBPASS]
v-change-dns-domain-exp USER DOMAIN EXP
v-change-dns-domain-ip USER DOMAIN IP
v-change-dns-domain-soa USER DOMAIN SOA
v-change-dns-domain-tpl USER DOMAIN TEMPLATE [RESTART]
v-change-dns-domain-ttl USER DOMAIN TTL
v-change-dns-record USER DOMAIN ID VALUE [PRIORITY] [RESTART]
v-change-dns-record-id USER DOMAIN ID NEWID [RESTART]
v-change-domain-owner DOMAIN USER [IP]
v-change-firewall-rule RULE ACTION IP PORT [PROTOCOL] [COMMENT]
v-change-mail-account-password USER DOMAIN ACCOUNT PASSWORD
v-change-mail-account-quota USER DOMAIN ACCOUNT QUOTA
v-change-mail-domain-catchall USER DOMAIN EMAIL
v-change-remote-dns-domain-exp USER DOMAIN
v-change-remote-dns-domain-soa USER DOMAIN
v-change-remote-dns-domain-ttl USER DOMAIN
v-change-sys-config-value KEY VALUE
v-change-sys-hostname HOSTNAME
v-change-sys-ip-name IP IP_NAME
v-change-sys-ip-nat IP NAT_IP [RESTART]
v-change-sys-ip-owner IP USER
v-change-sys-ip-status IP IP_STATUS
v-change-sys-language LANGUAGE
v-change-sys-timezone TIMEZONE
v-change-user-contact USER EMAIL
v-change-user-language USER LANGUAGE
v-change-user-name USER FNAME LNAME
v-change-user-ns USER NS1 NS2 [NS3] [NS4]
v-change-user-package USER PACKAGE [FORCE]
v-change-user-password USER PASSWORD
v-change-user-shell USER SHELL
v-change-user-template USER TYPE TEMPLATE
v-change-web-domain-backend-tpl USER DOMAIN TEMPLATE [RESTART]
v-change-web-domain-ftp-password USER DOMAIN FTP_USER FTP_PASSWORD
v-change-web-domain-ftp-path USER DOMAIN FTP_USER FTP_PATH
v-change-web-domain-ip USER DOMAIN IP [RESTART]
v-change-web-domain-proxy-tpl USER DOMAIN TEMPLATE [EXTENTIONS] [RESTART]
v-change-web-domain-sslcert USER DOMAIN SSL_DIR
v-change-web-domain-sslhome USER DOMAIN SSL_HOME
v-change-web-domain-stats USER DOMAIN TYPE
v-change-web-domain-tpl USER DOMAIN TEMPLATE [RESTART]
v-check-user-password USER PASSWORD
* v-copy-fs-file USER SRC_FILE DST_FILE
v-delete-backup-host TYPE [HOST]
v-delete-cron-job USER JOB
v-delete-cron-reports USER
* v-delete-cron-restart-job
* v-delete-cron-vesta-autoupdate
v-delete-database USER DATABASE
v-delete-database-host TYPE HOST
v-delete-databases USER
v-delete-dns-domain USER DOMAIN
v-delete-dns-domains USER
v-delete-dns-domains-src USER SRC [RESTART]
v-delete-dns-on-web-alias USER DOMAIN ALIAS
v-delete-dns-record USER DOMAIN ID [RESTART]
v-delete-domain USER DOMAIN
v-delete-firewall-ban IP CHAIN
v-delete-firewall-chain CHAIN
v-delete-firewall-rule RULE
v-delete-mail-account USER DOMAIN ACCOUNT
v-delete-mail-account-alias USER DOMAIN ACCOUNT ALIAS
v-delete-mail-account-autoreply USER DOMAIN ACCOUNT
v-delete-mail-account-forward USER DOMAIN ACCOUNT FORWARD
v-delete-mail-account-fwd-only USER DOMAIN ACCOUNT
v-delete-mail-domain USER DOMAIN
v-delete-mail-domain-antispam USER DOMAIN
v-delete-mail-domain-antivirus USER DOMAIN
v-delete-mail-domain-catchall USER DOMAIN
v-delete-mail-domain-dkim USER DOMAIN
v-delete-mail-domains USER
v-delete-remote-dns-domain USER DOMAIN
* v-delete-remote-dns-domains
v-delete-remote-dns-host HOST
v-delete-remote-dns-record USER DOMAIN ID
v-delete-sys-ip IP
* v-delete-sys-quota
v-delete-user USER
v-delete-user-backup USER BACKUP
v-delete-user-backup-exclusions USER [SYSTEM]
v-delete-user-ips USER
v-delete-user-package PACKAGE
v-delete-web-domain USER DOMAIN
v-delete-web-domain-alias USER DOMAIN DOM_ALIAS [RESTART]
v-delete-web-domain-backend USER DOMAIN
v-delete-web-domain-ftp USER DOMAIN FTP_USER
v-delete-web-domain-proxy USER DOMAIN
v-delete-web-domains USER [RESTART]
v-delete-web-domain-ssl USER DOMAIN
v-delete-web-domain-stats USER DOMAIN
v-delete-web-domain-stats-user USER DOMAIN
* v-generate-api-key
/usr/local/vesta/bin/v-generate-password-hash HASH-METHOD SALT PASSWORD
v-generate-ssl-cert DOMAIN EMAIL COUNTRY STATE CITY ORG UNIT [FORMAT]
v-get-dns-domain-value USER DOMAIN KEY
v-get-mail-account-value USER DOMAIN KEY
v-get-mail-domain-value USER DOMAIN KEY
* v-get-sys-timezone
* v-get-sys-timezones
v-get-user-value USER KEY
v-get-web-domain-value USER DOMAIN KEY
v-insert-dns-domain USER DATA [SRC] [RESTART]
v-insert-dns-record USER DOMAIN DATA [RESTART]
v-insert-dns-records USER DOMAIN DATAFILE [RESTART]
v-list-backup-host TYPE [FORMAT]
v-list-cron-job USER JOB [FORMAT]
v-list-cron-jobs USER [FORMAT]
v-list-database USER DATABASE [FORMAT]
v-list-database-host TYPE HOST [FORMAT]
* v-list-database-hosts
v-list-databases USER [FORMAT]
* v-list-database-types
v-list-dns-domain USER DOMAIN [FORMAT]
v-list-dns-domains USER [FORMAT]
v-list-dns-domains-src USER [FORMAT]
v-list-dns-records USER DOMAIN [FORMAT]
v-list-dns-template TEMPLATE [FORMAT]
* v-list-dns-templates
* v-list-firewall
* v-list-firewall-ban
v-list-firewall-rule RULE [FORMAT]
* v-list-fs-directory USER [PATH]
v-list-mail-account USER DOMAIN ACCOUNT [FORMAT]
v-list-mail-account-autoreply USER DOMAIN [FORMAT]
v-list-mail-accounts USER DOMAIN [FORMAT]
v-list-mail-domain USER DOMAIN [FORMAT]
v-list-mail-domain-dkim USER DOMAIN [FORMAT]
v-list-mail-domain-dkim-dns USER DOMAIN [FORMAT]
v-list-mail-domains USER [FORMAT]
* v-list-remote-dns-hosts
* v-list-sys-config
* v-list-sys-info
* v-list-sys-interfaces
v-list-sys-ip IP [FORMAT]
* v-list-sys-ips
* v-list-sys-languages
* v-list-sys-rrd
* v-list-sys-services
* v-list-sys-shells
* v-list-sys-users
* v-list-sys-vesta-autoupdate
* v-list-sys-vesta-updates
v-list-user USER [FORMAT]
v-list-user-backup USER BACKUP [FORMAT]
v-list-user-backup-exclusions USER [FORMAT]
v-list-user-backups USER [FORMAT]
v-list-user-ips USER [FORMAT]
v-list-user-log USER [FORMAT]
v-list-user-ns USER [FORMAT]
v-list-user-package PACKAGE [FORMAT]
* v-list-user-packages
* v-list-users
v-list-user-stats USER [FORMAT]
v-list-web-domain USER DOMAIN [FORMAT]
v-list-web-domain-accesslog USER DOMAIN [FORMAT]
v-list-web-domain-errorlog USER DOMAIN [FORMAT]
v-list-web-domains USER [FORMAT]
v-list-web-domains-alias USER [FORMAT]
v-list-web-domains-proxy USER [FORMAT]
v-list-web-domain-ssl USER DOMAIN [FORMAT]
v-list-web-domains-ssl USER [FORMAT]
v-list-web-domains-stats USER [FORMAT]
* v-list-web-stats
* v-list-web-templates
* v-list-web-templates-backend
* v-list-web-templates-proxy
* v-open-fs-file user path
v-rebuild-cron-jobs USER [RESTART]
v-rebuild-databases USER
v-rebuild-dns-domain USER DOMAIN [RESTART]
v-rebuild-dns-domains USER [RESTART]
v-rebuild-mail-domains USER
v-rebuild-user USER [RESTART]
v-rebuild-web-domains USER [RESTART]
* v-restart-cron
* v-restart-dns
* v-restart-ftp
* v-restart-mail
* v-restart-proxy
v-restart-service SERVICE
v-restart-system RESTART
* v-restart-web
* v-restart-web-backend
v-restore-user USER BACKUP [WEB] [DNS] [MAIL] [DB] [CRON] [UDIR] [NOTIFY]
v-schedule-user-backup USER
v-schedule-user-restore USER BACKUP [WEB] [DNS] [MAIL] [DB] [CRON] [UDIR]
v-search-domain-owner DOMAIN [TYPE]
v-search-object OBJECT [FORMAT]
v-search-user-object USER OBJECT [FORMAT]
v-start-service SERVICE
* v-stop-firewall
v-stop-service SERVICE
v-suspend-cron-job USER JOB [RESTART]
v-suspend-cron-jobs USER
v-suspend-database USER DATABASE
v-suspend-database-host TYPE HOST
v-suspend-databases USER
v-suspend-dns-domain USER DOMAIN [RESTART]
v-suspend-dns-domains USER [RESTART]
v-suspend-dns-record USER DOMAIN ID [RESTART]
v-suspend-firewall-rule RULE
v-suspend-mail-account USER DOMAIN ACCOUNT
v-suspend-mail-accounts USER DOMAIN
v-suspend-mail-domain USER DOMAIN
v-suspend-mail-domains USER
v-suspend-remote-dns-host HOST
v-suspend-user USER [RESTART]
v-suspend-web-domain USER DOMAIN [RESTART]
v-suspend-web-domains USER [RESTART]
* v-sync-dns-cluster
v-unsuspend-cron-job USER JOB [RESTART]
v-unsuspend-cron-jobs USER [RESTART]
v-unsuspend-database USER DATABASE
v-unsuspend-database-host TYPE HOST
v-unsuspend-databases USER
v-unsuspend-dns-domain USER DOMAIN
v-unsuspend-dns-domains USER [RESTART]
v-unsuspend-dns-record USER DOMAIN ID [RESTART]
v-unsuspend-firewall-rule RULE
v-unsuspend-mail-account USER DOMAIN ACCOUNT
v-unsuspend-mail-accounts USER DOMAIN
v-unsuspend-mail-domain USER DOMAIN
v-unsuspend-mail-domains USER
v-unsuspend-remote-dns-host HOST
v-unsuspend-user USER
v-unsuspend-web-domain USER DOMAIN [RESTART]
v-unsuspend-web-domains USER [RESTART]
v-update-database-disk USER DATABASE
v-update-databases-disk USER
* v-update-dns-templates
* v-update-firewall
v-update-mail-domain-disk USER DOMAIN
v-update-mail-domains-disk USER
* v-update-sys-ip
* v-update-sys-ip-counters
v-update-sys-queue QUEUE
* v-update-sys-rrd
* v-update-sys-rrd-apache2
* v-update-sys-rrd-ftp
* v-update-sys-rrd-httpd
* v-update-sys-rrd-la
* v-update-sys-rrd-mail
* v-update-sys-rrd-mem
* v-update-sys-rrd-mysql
* v-update-sys-rrd-net
* v-update-sys-rrd-nginx
* v-update-sys-rrd-pgsql
* v-update-sys-rrd-ssh
v-update-sys-vesta PACKAGE
* v-update-sys-vesta-all
v-update-user-backup-exclusions USER FILE
v-update-user-backups USER
* v-update-user-counters
v-update-user-disk USER
v-update-user-package PACKAGE
v-update-user-quota USER
* v-update-user-stats
v-update-web-domain-disk USER DOMAIN
v-update-web-domains-disk USER
v-update-web-domains-stat USER
v-update-web-domain-stat USER DOMAIN
v-update-web-domains-traff USER
v-update-web-domain-traff USER DOMAIN
* v-update-web-templates

Re: CLI Commands Run Without Options Give Unexpected Results

Posted: Sat Sep 12, 2015 11:51 pm
by joem
At the top of each file is a short description about what each one does. Some files should only be ran by vesta cp while other you can use.

Question #1 -

Code: Select all

v-restart-service iptables

Question #2 -
v-delete-cron-restart-job - The script for disabling restart cron tasks
v-delete-cron-vesta-autoupdate - The function deletes vesta autoupdate cron job.

Question #3 -

Code: Select all

 v-add-cron-restart-job

Re: CLI Commands Run Without Options Give Unexpected Results

Posted: Sun Sep 13, 2015 9:17 pm
by SANDPOND
Howdy:

In order to use the CLI commands/scripts it would seem imperative to know which ones "should only be run by Vesta CP".

The "short description about what each one does" found within each scripts is minimal. For example, a comment at the top of "v-update-sys-rrd-mail" reads "The function is for updating mail rrd database and graphic." From this there is no way of determining precisely what this script does and why, or whether the script is one which should only be run through the Vesta CP as a previous commenter suggested.

Vesta advertizes a "powerful CLI". Certainly there must be documentation beyond the very minimal note in each script. As formerly indicated, the link to that documentation at https://vestacp.com/docs/ is not active. I wonder where this documentation might it be found?

I intend to use these scripts extensively for automated application deployment and more efficient managements of vesta/web/mail/dns services. Hopefully this is safe? I can't know for sure until I find detailed documentation, or at least a list of CLI commands which can be safely used.

THANKS !

Re: CLI Commands Run Without Options Give Unexpected Results

Posted: Sun Sep 13, 2015 9:37 pm
by tjebbeke
I think most commands speak for themselves. Others should not be used immediately to administer your server.

Code: Select all

v-add-database USER DATABASE DBUSER DBPASS [TYPE] [HOST] [CHARSET]
v-add-dns-record USER DOMAIN RECORD TYPE VALUE [PRIORITY] [ID] [RESTART]
v-add-domain USER DOMAIN [IP] [RESTART]
v-add-mail-account USER DOMAIN ACCOUNT PASSWORD [QUOTA]
v-add-user USER PASSWORD EMAIL [PACKAGE] [FNAME] [LNAME]
v-backup-user USER [NOTIFY]
...

Re: CLI Commands Run Without Options Give Unexpected Results

Posted: Mon Sep 14, 2015 12:21 am
by joem
Using wayback machine I was able to find the missing link https://web.archive.org/web/20111022234 ... .com/docs/ keep in mind some of this information may be outdated. I have been thinking about making a new set of docs because as a developer myself its hard to figure out each cli command by looking at a folder with 100+ file names.

Re: CLI Commands Run Without Options Give Unexpected Results

Posted: Sat Sep 19, 2015 9:05 pm
by SANDPOND
Hello:

Hopefully, we will soon receive a reply from Vesta regarding current documentation for CLI commands?

THANKS !