CInbox (Common-Inbox)  0.1
Common functionality for ingesting files for archiving.
 All Classes Functions Variables
Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
TaskCopyRsync Class Reference
Inheritance diagram for TaskCopyRsync:
TaskCopy CITask TaskCopyToTarget

Static Public Member Functions

static getRsyncErrorMessage ($exitCode=null)
 
- Static Public Member Functions inherited from CITask
static isRecursive ()
 
static oncePerItem ()
 
static getTaskByName ($taskName, $CIFolder)
 
static getTaskClassName ($taskName)
 

Public Attributes

const TASK_LABEL = 'Copy files using RSync (abstract)'
 
const BIN_RSYNC = 'rsync'
 This command is called for performing the actual copy.
 
const CMD_COPY_MASK = 'rsync --progress --times --copy-links --inplace --log-file="[@LOGFILE@]" "[@FILE_IN@]" "[@FILE_OUT@]"'
 
const CMD_COPY_MASK_DEBUG = 'rsync --dry-run -v --progress --times --copy-links --inplace --log-file="[@LOGFILE@]" "[@FILE_IN@]" "[@FILE_OUT@]"'
 
- Public Attributes inherited from TaskCopy
const TASK_LABEL = 'Copy files (abstract)'
 
const CONF_UPDATE_FOLDERS = 'UPDATE_FOLDERS'
 
const CONF_UPDATE_FILES = 'UPDATE_FILES'
 
const OPT_CREATE = 'create'
 
const OPT_UPDATE = 'update'
 
const OPT_CREATE_OR_UPDATE = 'create_or_update'
 
- Public Attributes inherited from CITask
const STATUS_UNDEFINED = 0
 Undefined. Default unless task changes it.
 
const STATUS_RUNNING = 1
 Undefined, but indicates that the task is in progress.
 
const STATUS_WAIT = 2
 Task decided that Item is not ready yet and shall be moved back to 'to-do'.
 
const STATUS_DONE = 5
 Success! This means the task completed successfully.
 
const STATUS_PBCT = 6
 There were problems, but the task may continue.
 
const STATUS_PBC = 7
 There were problems, but subsequent task may continue.
 
const STATUS_ERROR = 10
 An error occurred. Abort execution as soon as possible.
 
const STATUS_CONFIG_ERROR = 11
 If a config option was not valid.
 
const STATUS_SKIPPED = 15
 If task was skipped.
 
const ONCE_PER_ITEM = false
 True: Run this task only once per item.
 
const IS_RECURSIVE = false
 Default (false): one task = one folder. True: The task performs actions on subfolders too.
 
const CONF_COPY_EXCLUDE = 'COPY_EXCLUDE'
 Patterns which files to exclude from copying.
 
const MASK_TARGET_TEMP = 'temp_%s'
 

Protected Member Functions

 copyFile ($sourceFile, $targetFile)
 
- Protected Member Functions inherited from TaskCopy
 loadSettings ()
 
 isValidUpdateFolders ($updateMode)
 
 isValidUpdateFiles ($updateMode)
 
 getCmdLogfile ()
 
 removeCmdLogfile ()
 
 createFolder ($folderName)
 
 move ($source, $target, $overwrite=false)
 
 checkTargetFolderCondition ($targetFolder, $updateFolders)
 
 checkTargetFileCondition ($targetFile, $updateFiles)
 
- Protected Member Functions inherited from CITask
 setName ($name)
 
 exclude ($file, $excludePatterns)
 
 optionIsArray ($option, $optionName)
 
 resolveTargetFolderTemp ($CIFolder=null)
 
 setStatus ($status)
 
 setStatusUndefined ()
 
 setStatusRunning ()
 
 setStatusWait ()
 
 setStatusDone ()
 
 setStatusPBCT ()
 
 setStatusPBC ()
 
 setStatusSkipped ()
 
 setStatusError ()
 
 setStatusConfigError ()
 
 checkTempFolder ()
 
 getTempFolder ()
 
 setTempFolder ($tempFolder=null)
 
 loadSettings ()
 

Additional Inherited Members

- Public Member Functions inherited from TaskCopy
 __construct (&$CIFolder)
 
 init ()
 
 finalize ()
 
- Public Member Functions inherited from CITask
 __construct (&$CIFolder, $label)
 
 getName ()
 
 setLabel ($label)
 
 getLabel ()
 
 setDescription ($description)
 
 getDescription ()
 
 skip ()
 
 skipIt ()
 
 setItemSubDirs ($itemSubDirs)
 
 getStatus ()
 
 statusUndefined ()
 
 statusRunning ()
 
 statusWait ()
 
 statusDone ()
 
 statusPBCT ()
 
 statusPBC ()
 
 statusSkipped ()
 
 statusError ()
 
 statusConfigError ()
 
 init ()
 
 run ()
 
 finalize ()
 
- Static Public Attributes inherited from TaskCopy
static $OPT_UPDATE_FOLDERS
 
static $OPT_UPDATE_FILES
 
- Protected Attributes inherited from TaskCopy
 $updateFolders
 
 $updateFiles
 
- Protected Attributes inherited from CITask
 $logger
 Logging handler.
 
 $name
 Class name of this task.
 
 $label
 Human readable Task label.
 
 $description
 Human readable description of Task's purpose/actions.
 
 $CIFolder
 CIFolder object that provides all information needed for this task.
 
 $sourceFolder
 Source folder of this task.
 
 $targetFolder
 Target folder of this task (read from config).
 
 $targetFolderTemp
 Temporary name of Target folder of this task. Used until inbox processing completed successfully.
 
 $itemSubDirs
 Array of Item subfolders: key=foldername, value=CIFolder (initialized with its config).
 
 $tempFolder
 Path of the temp folder for this task.
 
 $copyExclude
 Contains the value of CONF_COPY_EXCLUDE.
 
 $skip = false
 True: Skip execution. Default=false (=normal execution).
 
 $status
 Status of this task (=for current item subfolder).
 
- Static Protected Attributes inherited from CITask
static $statusGlobal
 Status of the sum of tasks of this type. // TODO! Implement and use this.
 

Detailed Description

This abstract task is used as base for tasks using Rsync as copy tool.

The actual file transfer process is done by 'rsync' to ensure reliable data transfer.

Author
Peter Bubestinger-Steindl (pb@av.nosp@m.-rd..nosp@m.com)
See also

Member Function Documentation

TaskCopyRsync::copyFile (   $sourceFile,
  $targetFile 
)
protected

Copies a single file from A to B. Uses external command to do this.

See also
self::CMD_COPY_MASK
static TaskCopyRsync::getRsyncErrorMessage (   $exitCode = null)
static

Returns a human readable error message for a given rsync exit code value. If $exitcode=null, it returns an array with all messages (and exit code as key).

Error messages are based on documentation of "exit values" found in: http://www.samba.org/ftp/rsync/rsync.html


The documentation for this class was generated from the following file: