Replace symlink with original file when edited
Clash Royale CLAN TAG#URR8PPP
In a web project I used symlinks for shared data to save up space. The structure is one directory including the original data (e.g. css and js) and multiple directory with symlinks to the original data. The problem is when users change settings their data is going to edit, but because they are symlinks the original data gets edited. So I am searching for a way to break the link and save the data in the place of the symlink. How can I achieve this?
Something like: when writing to file if it is symlink remove it, write the data in that path.
EDIT:
I need an OS level approach, because file edit occurrences are out of my control. Also is it possible with hooks?
symlink
add a comment |
In a web project I used symlinks for shared data to save up space. The structure is one directory including the original data (e.g. css and js) and multiple directory with symlinks to the original data. The problem is when users change settings their data is going to edit, but because they are symlinks the original data gets edited. So I am searching for a way to break the link and save the data in the place of the symlink. How can I achieve this?
Something like: when writing to file if it is symlink remove it, write the data in that path.
EDIT:
I need an OS level approach, because file edit occurrences are out of my control. Also is it possible with hooks?
symlink
Remove the symlinks and copy the files.
– Romeo Ninov
Dec 24 '18 at 7:49
If you are on XFS, you might use reflink. Reference: unix.stackexchange.com/questions/393305/…
– amdyes
Dec 24 '18 at 8:01
@amdyes I'm not on XFS. can I use system calls and modify it forcp
?
– Ali Sh
Dec 24 '18 at 8:54
add a comment |
In a web project I used symlinks for shared data to save up space. The structure is one directory including the original data (e.g. css and js) and multiple directory with symlinks to the original data. The problem is when users change settings their data is going to edit, but because they are symlinks the original data gets edited. So I am searching for a way to break the link and save the data in the place of the symlink. How can I achieve this?
Something like: when writing to file if it is symlink remove it, write the data in that path.
EDIT:
I need an OS level approach, because file edit occurrences are out of my control. Also is it possible with hooks?
symlink
In a web project I used symlinks for shared data to save up space. The structure is one directory including the original data (e.g. css and js) and multiple directory with symlinks to the original data. The problem is when users change settings their data is going to edit, but because they are symlinks the original data gets edited. So I am searching for a way to break the link and save the data in the place of the symlink. How can I achieve this?
Something like: when writing to file if it is symlink remove it, write the data in that path.
EDIT:
I need an OS level approach, because file edit occurrences are out of my control. Also is it possible with hooks?
symlink
symlink
edited Dec 24 '18 at 10:36
ctrl-alt-delor
10.9k41957
10.9k41957
asked Dec 24 '18 at 6:51
Ali Sh
132
132
Remove the symlinks and copy the files.
– Romeo Ninov
Dec 24 '18 at 7:49
If you are on XFS, you might use reflink. Reference: unix.stackexchange.com/questions/393305/…
– amdyes
Dec 24 '18 at 8:01
@amdyes I'm not on XFS. can I use system calls and modify it forcp
?
– Ali Sh
Dec 24 '18 at 8:54
add a comment |
Remove the symlinks and copy the files.
– Romeo Ninov
Dec 24 '18 at 7:49
If you are on XFS, you might use reflink. Reference: unix.stackexchange.com/questions/393305/…
– amdyes
Dec 24 '18 at 8:01
@amdyes I'm not on XFS. can I use system calls and modify it forcp
?
– Ali Sh
Dec 24 '18 at 8:54
Remove the symlinks and copy the files.
– Romeo Ninov
Dec 24 '18 at 7:49
Remove the symlinks and copy the files.
– Romeo Ninov
Dec 24 '18 at 7:49
If you are on XFS, you might use reflink. Reference: unix.stackexchange.com/questions/393305/…
– amdyes
Dec 24 '18 at 8:01
If you are on XFS, you might use reflink. Reference: unix.stackexchange.com/questions/393305/…
– amdyes
Dec 24 '18 at 8:01
@amdyes I'm not on XFS. can I use system calls and modify it for
cp
?– Ali Sh
Dec 24 '18 at 8:54
@amdyes I'm not on XFS. can I use system calls and modify it for
cp
?– Ali Sh
Dec 24 '18 at 8:54
add a comment |
1 Answer
1
active
oldest
votes
You can use a COW (Copy On Write) file-system, but you wont use symlinks. You would just copy the file. (but it would not copy it, until you edit/write to it).
or use some over-lay file-system, that has this property: look at what fuse file-systems exist.
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f490728%2freplace-symlink-with-original-file-when-edited%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can use a COW (Copy On Write) file-system, but you wont use symlinks. You would just copy the file. (but it would not copy it, until you edit/write to it).
or use some over-lay file-system, that has this property: look at what fuse file-systems exist.
add a comment |
You can use a COW (Copy On Write) file-system, but you wont use symlinks. You would just copy the file. (but it would not copy it, until you edit/write to it).
or use some over-lay file-system, that has this property: look at what fuse file-systems exist.
add a comment |
You can use a COW (Copy On Write) file-system, but you wont use symlinks. You would just copy the file. (but it would not copy it, until you edit/write to it).
or use some over-lay file-system, that has this property: look at what fuse file-systems exist.
You can use a COW (Copy On Write) file-system, but you wont use symlinks. You would just copy the file. (but it would not copy it, until you edit/write to it).
or use some over-lay file-system, that has this property: look at what fuse file-systems exist.
answered Dec 24 '18 at 10:41
ctrl-alt-delor
10.9k41957
10.9k41957
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f490728%2freplace-symlink-with-original-file-when-edited%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Remove the symlinks and copy the files.
– Romeo Ninov
Dec 24 '18 at 7:49
If you are on XFS, you might use reflink. Reference: unix.stackexchange.com/questions/393305/…
– amdyes
Dec 24 '18 at 8:01
@amdyes I'm not on XFS. can I use system calls and modify it for
cp
?– Ali Sh
Dec 24 '18 at 8:54