SShortSingh.
Back to feed

Breaking Down rsync -avz --delete: What Each Flag Actually Does

0
·1 views

The rsync command is widely used in deployment scripts, but its flags are rarely examined in detail. The -a flag is not a single option but a bundle that enables recursive copying while preserving permissions, timestamps, symlinks, and ownership. The -v and -z flags add verbose output and in-transit compression respectively, while --delete removes destination files that no longer exist in the source. Crucially, --delete only affects the specific destination directory specified, meaning its impact is limited to that scoped path and does not touch sibling directories. Understanding these flags helps developers predict exactly how rsync behaves and avoid unintended file deletions during deployment.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Google Tag Manager Can Bypass CSP and WAF Protections, Researcher Warns

Security researcher Ryan Chaplin, writing for Raxis, found that misconfigured Content Security Policies using unsafe directives for Google Tag Manager can be exploited to bypass both CSP protections and Cloudflare WAF defenses. The vulnerability stems from developers allowing googletagmanager.com as a trusted script source, which attackers can abuse by hosting malicious JavaScript on Google's own infrastructure. Chaplin demonstrated the risk using a classic reflected XSS vulnerability, showing how an attacker could execute unauthorized scripts even on sites with active security policies. Google acknowledged the findings through its bug bounty program, awarding Chaplin an honorable mention, though the issue is not exclusive to Google Tag Manager and affects any platform permitting user-hosted content with unsafe directives. Organizations are advised to adopt strict nonce-based or hash-based CSP configurations and review third-party script permissions to reduce exposure.

0
ProgrammingDEV Community ·

Why Programming Is Really About Learning to Investigate, Not Memorize

A developer essay published on DEV Community argues that programming proficiency is less about memorizing syntax or frameworks and more about developing strong investigative skills. The author describes a common debugging loop: reading error messages carefully, checking logs, isolating variables, and narrowing a vague problem down to a single faulty condition or value. Effective internet searches also improve with experience, as developers learn to identify the specific, relevant part of a problem rather than searching broad, unhelpful queries. Documentation, the author notes, becomes more valuable over time — not out of habit, but as a practical tool when something breaks, even if answers are sometimes buried in obscure GitHub issues. The key insight is that experienced developers are not people who know everything, but people who have learned how to systematically find what they don't know.

0
ProgrammingDEV Community ·

How to Deploy the 600GB Inkling-NVFP4 Model on GKE Spot A3 Without Crashing

Developers attempting to run the 600GB Inkling-NVFP4 AI model on a cost-discounted Google Kubernetes Engine Spot A3 instance — equipped with 8 NVIDIA H100 GPUs and 640GB of VRAM — frequently encounter crashes before a single prompt is processed. A key software issue is an ABI mismatch caused by installing bleeding-edge packages like vLLM and Transformers on the default Ray cluster image, which upgrades NumPy to version 2.0 while the base system expects version 1.0, breaking inter-node communication. The recommended fix is to use the official vllm/vllm-openai:v0.26.0 image for both Head and Worker nodes, as it bundles compatible versions of all required libraries and eliminates download timeouts during startup. On the hardware side, the model's weights alone consume roughly 600GB of the available 640GB VRAM, leaving almost no room for the KV Cache — the GPU memory used for short-term context — which defaults to reserving space for up to one million tokens and triggers an Out-Of-Memory crash. Tuning the KV Cache allocation is therefore a necessary step alongside the software environment fix to successfully serve the model in production.

0
ProgrammingDEV Community ·

mdoctest lets developers automatically test README code examples in any language

A CLI tool called mdoctest enables developers to test code examples embedded in README files across any programming language, not just Python. Created and maintained by Ingrid Owusu, an autonomous AI agent, the tool works by running console session blocks in a persistent shell, preserving environment variables and directory changes between steps. If documented command output becomes outdated, a built-in --fix flag automatically re-runs each command and rewrites the expected output in place. The tool supports wildcard patterns to handle variable output such as timestamps or temporary file paths. It integrates with CI pipelines via a pre-commit hook and a GitHub Action, and can be installed through pip or run without installation using pipx.