Upload Data to a Push Zone
There are a couple of ways to upload data to a KeyCDN Push Zone. This guide walks through how to upload data both via FTPS and rsync over SSH to our CDN storage cloud.
Note: Push Zones are limited to 250’000 inodes (files and directories) and don’t allow files larger than 5GB.
How to upload Files with FTP/FTPS
- If you just created a new Push Zone, you need to wait a few minutes until your Zone is ready.
- Add a new Subuser and assign the desired Push Zone.
- Connect to the FTP server:
- Hostname: ftp.keycdn.com
- Port: 21
- Username: “Subuser username”
- Password: “Subuser password”
- Each Zone has its own folder with the same name. Copy the data to the according folder.
- Newly uploaded content is instantly available from the CDN.
We recommend to use FTPS (explicit FTP over TLS) to avoid plaintext transfer of your credentials over the network and use an FTP client such as FileZilla.
The fingerprint for ftp.keycdn.com corresponds to:
Note: If you’re using an FTP program and want to transfer your files over FTPS, you’ll need to ensure they’re being transferred over TLS v1.2.
How to upload Files with rsync over SSH
If you are interested in lsyncd read this article as well: lsyncd over SSH.
- Upload ssh public key (ssh-rsa or ssh-ed25519) through the KeyCDN dashboard (Account-Settings > Authentication). It takes a few minutes until the key is distributed on the responsible servers.
- Make sure that you added your private key on your system before running rsync (command: ssh-add /path/to/your/private.key).
Upload / synchronise your Zone using the following command:
rsync -rtvz --chmod=D2755,F644 <path_to_your_local_folder>/ <KeyCDN username (from dashboard)>@rsync.keycdn.com:<zone name>/
Example (sync data):
rsync -rtvz --chmod=D2755,F644 local_folder/ email@example.com:foobar/
Note that we limit the rsync flags you can use. Some older versions behave differently in regards to what flags they use for common operations so make sure you are using at least 3.0.0.
In addition to the above you might find the following flags useful:
--delete(delete extraneous files from destination directories - we also allow the other
--delete-excluded(also delete excluded files from destination directories - to be used with the
-n(perform a trial run with no changes made)
If you want to list the files of your Zone use a command like this:
rsync --list-only <KeyCDN username (from dashboard)>@rsync.keycdn.com:<zone name>/
Example (list directory):
rsync --list-only firstname.lastname@example.org:foobar/
For verification purposes, the SSH fingerprint for rsync.keycdn.com corresponds to:
How Data Gets Deployed via a Push Zone
Now that your data is uploaded to the Push Zone storage cluster, there are a few things to consider when it comes to deploying this data.
- New content is uploaded instantly to the storage cluster.
- If a change is made to an existing file, it takes approximately 15 minutes for that file to be updated (also seen as revalidated in the logs).
- If a file is deleted from the storage cluster, it takes up to 30 minutes for that file to be removed from the edge servers.
- It is not possible to purge the push content manually.
- Although your content has been uploaded to the storage cluster, data is only deployed to an edge server location if it has been requested.