| name | fastcopy-file-transfer-optimization |
| description | High-performance file duplication and transfer utility with multi-threaded I/O, integrity verification, and automation support |
| triggers | ["how do I use FastCopy for bulk file transfers","configure FastCopy with YAML profiles","set up parallel file copying with FastCopy","FastCopy command line options and examples","optimize file transfer speed with FastCopy","automate file backup using FastCopy","FastCopy integrity verification and checksums","troubleshoot FastCopy transfer errors"] |
FastCopy File Transfer Optimization
Skill by ara.so — Devtools Skills collection.
Overview
FastCopy is a high-performance file duplication and transfer utility designed for professionals who need fast, reliable bulk file operations. It features multi-threaded I/O engines, intelligent caching, automatic retry logic, and integrity verification using SHA-256 and CRC-32 checksums.
Key capabilities:
- Multi-threaded parallel transfers (up to 64 concurrent streams)
- YAML-based profile configuration for repeatable operations
- CLI and GUI modes for flexible integration
- Cross-platform support (Windows, macOS, Linux)
- Built-in integrity verification and auto-resume
- Scriptable automation with hooks and scheduling
Installation
Windows
fastcopy.exe --version
macOS
brew install fastcopy
fastcopy --version
Linux
curl -LO https://example.com/fastcopy-linux-x64
chmod +x fastcopy-linux-x64
sudo mv fastcopy-linux-x64 /usr/local/bin/fastcopy
fastcopy --version
Basic Usage
Command Line Interface
Simple File Copy
fastcopy <source> <destination> [options]
fastcopy /path/to/source.zip /backup/
fastcopy /data/projects/ /backup/projects/ --recursive
fastcopy /media/raw/ /nas/archive/ --streams 64 --turbo
Common Options
fastcopy source.iso /backups/ --priority high --log-level debug
fastcopy /large_dataset/ /backup/ --no-verify --streams 32
fastcopy /incomplete/ /destination/ --resume always
fastcopy build.tar.gz /releases/ --tag "v2.3.1-production"
Profile-Based Configuration
YAML Profile Structure
Create reusable transfer profiles for consistent operations:
transfer:
mode: "turbo"
streams: 32
buffer_size_mb: 256
verify: true
resume: always
paths:
source: "/var/www/production"
destination: "/mnt/backup/www"
filters:
include:
- "*.php"
- "*.html"
- "*.css"
- "*.js"
exclude:
- "cache/*"
- "temp/*"
- ".git/*"
schedule:
type: "cron"
expression: "0 2 * * *"
hooks:
on_start: "echo 'Starting backup...'"
on_complete: "/opt/scripts/notify-success.sh"
on_error: "/opt/scripts/alert-admin.sh"
logging:
level: "info"
file: "/var/log/fastcopy/backup.log"
max_size_mb: 100
Using Profiles
fastcopy --profile production-backup.yaml
fastcopy --profile backup.yaml --streams 48 --priority realtime
fastcopy --profile backup.yaml --dry-run --validate
Advanced Patterns
Automated Backup Script
#!/bin/bash
BACKUP_SOURCE="${BACKUP_SOURCE:-/data/production}"
BACKUP_DEST="${BACKUP_DEST:-/mnt/nas/backups}"
FASTCOPY_PROFILE="${FASTCOPY_PROFILE:-/etc/fastcopy/backup.yaml}"
ALERT_EMAIL="${ALERT_EMAIL}"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
DEST_DIR="${BACKUP_DEST}/${TIMESTAMP}"
cat > /tmp/backup-${TIMESTAMP}.yaml <<EOF
transfer:
mode: "turbo"
streams: 32
verify: true
resume: always
paths:
source: "${BACKUP_SOURCE}"
destination: "${DEST_DIR}"
logging:
level: "info"
file: "/var/log/fastcopy/backup-${TIMESTAMP}.log"
hooks:
on_complete: "echo 'Backup completed at ${DEST_DIR}' | mail -s 'Backup Success' ${ALERT_EMAIL}"
on_error: "echo 'Backup FAILED - Check logs' | mail -s 'BACKUP FAILURE' ${ALERT_EMAIL}"
EOF
fastcopy --profile /tmp/backup-${TIMESTAMP}.yaml --priority high
find "${BACKUP_DEST}" -type d -mtime +7 -exec rm -rf {} +
Watch Directory for Changes
transfer:
mode: "balanced"
streams: 16
verify: true
resume: on_failure
paths:
source: "/home/user/Documents"
destination: "/mnt/cloud-sync/Documents"
schedule:
type: "watch"
interval_seconds: 60
debounce_ms: 5000
filters:
exclude:
- ".DS_Store"
- "*.tmp"
- "~*"
hooks:
on_complete: "notify-send 'Documents synced'"
Parallel Multi-Source Backup
#!/bin/bash
SOURCES=(
"/var/www/app1:/backup/app1"
"/var/www/app2:/backup/app2"
"/home/user/data:/backup/user-data"
)
for source_dest in "${SOURCES[@]}"; do
IFS=':' read -r source dest <<< "$source_dest"
fastcopy "$source" "$dest" \
--streams 16 \
--verify \
--log-file "/var/log/fastcopy/$(basename $source).log" &
done
wait
echo "All backups completed"
Configuration Files
Global Configuration
global:
default_mode: "balanced"
default_streams: 16
buffer_size_mb: 128
temp_directory: "/tmp/fastcopy"
network:
timeout_seconds: 300
retry_attempts: 3
retry_backoff_ms: 1000
integrity:
algorithm: "sha256"
verify_on_write: true
performance:
cpu_affinity: true
io_priority: "normal"
logging:
default_level: "info"
console_output: true
log_directory: "/var/log/fastcopy"
API Integration Examples
OpenAI Integration
transfer:
mode: "turbo"
streams: 32
paths:
source: "/incoming/media"
destination: "/organized/media"
ai:
provider: "openai"
endpoint: "https://api.openai.com/v1"
api_key_env: "OPENAI_API_KEY"
model: "gpt-4-turbo"
categorization:
enabled: true
prompt: "Analyze this filename and suggest a category folder: {filename}"
auto_organize: true
Claude Integration
transfer:
mode: "balanced"
streams: 16
paths:
source: "/project/codebase"
destination: "/backup/codebase"
ai:
provider: "claude"
endpoint: "https://api.anthropic.com"
api_key_env: "ANTHROPIC_API_KEY"
model: "claude-3-opus-20240229"
documentation:
enabled: true
generate_summary: true
output_file: "/backup/transfer-report.md"
Troubleshooting
Common Issues
Transfer Hangs or Stalls
fastcopy source/ dest/ --streams 8
fastcopy source/ dest/ --buffer-size-mb 64
fastcopy source/ dest/ --log-level debug
Permission Errors
sudo fastcopy /protected/source /backup/
sudo chown -R $USER:$USER /destination/
Integrity Check Failures
fastcopy source/ dest/ --verify --retry-on-error
fastcopy source/ dest/ --integrity both --streams 8
fsck /dev/source_device
Network Transfer Issues
fastcopy //remote/share /local/ --timeout 600
fastcopy //remote/share /local/ --streams 4 --retry-attempts 5
fastcopy //remote/share /local/ --resume always
Logging and Debugging
fastcopy source/ dest/ --log-level debug --console-output
fastcopy source/ dest/ --log-file /tmp/transfer.log --log-level debug
fastcopy source/ dest/ --stats realtime --progress bar
Performance Tuning
fastcopy large_dataset/ /backup/ \
--mode turbo \
--streams 64 \
--buffer-size-mb 512 \
--priority realtime \
--no-verify
fastcopy data/ /backup/ \
--mode balanced \
--streams 16 \
--verify
fastcopy source/ dest/ \
--mode standard \
--streams 4 \
--buffer-size-mb 64 \
--priority low
Environment Variables
export FASTCOPY_CONFIG=/path/to/config.yaml
export FASTCOPY_PROFILE=/path/to/default-profile.yaml
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...
export FASTCOPY_TIMEOUT=600
export FASTCOPY_RETRY_ATTEMPTS=5
export FASTCOPY_STREAMS=32
export FASTCOPY_BUFFER_MB=256
export FASTCOPY_LOG_LEVEL=info
export FASTCOPY_LOG_DIR=/var/log/fastcopy
Best Practices
- Always enable verification for critical data: Use
--verify flag
- Use profiles for repeated operations: Maintain YAML configs in version control
- Start with fewer streams and scale up: Test with
--streams 8 before increasing
- Monitor system resources during large transfers: Use
htop or Task Manager
- Implement proper error handling in automation: Use hooks for alerting
- Keep logs for audit trails: Configure persistent logging
- Test restoration procedures regularly: Verify backups are recoverable
- Use appropriate mode for workload: Don't always use
turbo mode