## Name

gfservice-agent — agent of gfservice

## Synopsis

`gfservice-agent` [`options`] host-id sub-command [`argument ...`]

## DESCRIPTION

gfservice-agent is an agent of gfservice. It must be installed on all hosts you want to operate using gfservice. Unlike gfservice, it doesn't read a configuration file.

gfservice-agent is not designed to be executed directly by an user. In daily use, it is executed only by gfservice via SSH and Sudo.

Host-id argument is the same as that of gfservice, but gfservice-agent uses host-id for recognizing type of host ("gfmd", "gfsd" or "client") and debug messages only.

Sub-command names of gfservice-agent are similar to those of gfservice, but their arguments are different. For example, "unmount" sub-command of gfservice-agent takes `"directory=`directory`"` argument:

gfservice-agent client3 unmount directory=/somewhere

while "unmount" sub-command of gfservice takes `"directory"` argument:

gfservice unmount client3 /somewhere

Almost all arguments of gfservice-agent have "key=value" form. When two or more arguments are given, gfservice-agent doesn't care about the order of arguments. gfservice-agent ignores arguments with unknown keys.

## OPTIONS

`-d`

  Print debug information.

## SUB-COMMANDS

gfservice-agent currently recognizes the following sub-commands.

get-config-gfarm-param `param`=`name` `config-gfarm-options`=`options`

  Execute config-gfarm -T command and output a value of the parameter `name` to standard out. If the "`param`=`name`" argument is not specified, it outputs entire config-gfarm -T results.

get-config-gfsd-param `param`=`name` `config-gfsd-options`=`options`

  Execute config-gfsd -T command and output a value of the parameter `name` to standard out. If the "`param`=`name`" argument is not specified, it outputs entire config-gfsd -T results.

backend-db-status `config-gfarm-options`=`options`

  Exit with an exit code 0, if a backend database is currently running. Otherwise exits with 1.

gfmd-status `config-gfarm-options`=`options`

  Exit with an exit code 0, if gfmd is currently running. Otherwise exits with 1.

gfsd-status `config-gfsd-options`=`options`

  Exit with an exit code 0, if gfsd is currently running. Otherwise exits with 1.

start-backend-db `config-gfarm-options`=`options` `timeout`=`time`

  Start a backend database if it is not running currently.

start-gfmd `config-gfarm-options`=`options` `timeout`=`time`

  Start gfmd if it is not running currently.

start-gfsd `config-gfsd-options`=`options` `timeout`=`time`

  Start gfsd if it is not running currently.

config-gfarm `config-gfarm-options`=`options`

  Execute config-gfarm command.

config-gfarm-master `config-gfarm-options`=`options`

  Execute config-gfarm `-r` command.

config-gfsd `config-gfsd-options`=`options`

  Execute config-gfsd command.

unconfig-gfarm `config-gfarm-options`=`options`

  Execute stop-gfarm sub-command and then delete all files and directories created by gfmd and a backend database.

unconfig-gfsd `config-gfsd-options`=`options`

  Execute stop-gfsd sub-command and then delete all files and directories created by gfsd.

unconfig-client `config-gfsd-options`=`options`

  Delete `gfarm2.conf` file.

promote `config-gfarm-options`=`options`

  Promote gfmd from a slave to a master.

promote-gfmd `config-gfarm-options`=`options`

  An alias of promote sub-command.

mount `directory`=`directory` `options`=`options`

  Mount a Gfarm2 filesystem on `directory`.

unmount `directory`=`directory`

  Unmount a Gfarm2 filesystem currently mounted on `directory`.

umount `directory`=`directory`

  An alias of unmount sub-command.

set-gfmd-conf `directive`=`name` `value`=`value`

  Add

  `directive` `value`

  line to `gfmd.conf` file.

set-gfarm-conf `directive`=`name` `value`=`value`

  Add

  `directive` `value`

  line to `gfarm2.conf` file.

set-gfsd-conf `directive`=`name` `value`=`value`

  Add

  `directive` `value`

  line to `gfsd.conf` file.

unset-gfmd-conf `directive`=`name`

  Delete a `directive` line in `gfmd.conf` file.

unset-gfarm-conf `directive`=`name`

  Delete a `directive` line in `gfarm2.conf` file.

unset-gfsd-conf `directive`=`name`

  Delete a `directive` line in `gfsd.conf` file.

backup-backend-db

  Backup a backend database and output the backup data to standard out.

backup-gfmd-conf

  Output `gfmd.conf` file to standard out.

backup-gfarm-conf

  Output `gfarm2.conf` file to standard out.

backup-gfsd-conf

  Output `gfsd.conf` file to standard out.

backup-usermap

  Output `usermap` file to standard out.

backup-shared-key

  Output `$HOME/.gfarm_shared_key` file to standard out.

restore-backend-db

  Restore a backend database. The backup data are read from standard in.

restore-gfmd-conf

  Restore `gfmd.conf` file. The backup data are read from standard in.

restore-gfarm-conf

  Restore `gfarm2.conf` file. The backup data are read from standard in.

restore-gfsd-conf

  Restore `gfsd.conf` file. The backup data are read from standard in.

restore-usermap

  Restore `usermap` file. The backup data are read from standard in.

restore-shared-key

  Restore `$HOME/.gfarm_shared_key` file. The backup data are read from standard in.

gfcmd `cmd`=`command-name` `args`="`command-argument ...`"

  Execute a Gfarm command.

grid-proxy-init `args`="`command-argument ...`"

  Execute grid-proxy-init command.