shutdown at specific dateWhat is the difference between shutdown 18:00 and at 18:00 shutdown?Execute a command before shutdownHow to disable wlan0 when shutdownHow to protect against purge of bash history?systemd: How to check scheduled time of a delayed shutdown?Is there a way to perfrom a shutdown and after X seconds start the system again?How to run interactive script on shutdownShutdown script not working as writtenHow to view logs of stop jobs at shutdown on Debian?How can a log print to display while shutdown, reboot or startup?Linux freeze on shutdown problem
Does putting salt first make it easier for attacker to bruteforce the hash?
What is the Leave No Trace way to dispose of coffee grounds?
I've been given a project I can't complete, what should I do?
Why did Intel abandon unified CPU cache?
Analogy between an unknown in an argument, and a contradiction in the principle of explosion
ASCII Meme Arrow Generator
Was planting UN flag on Moon ever discussed?
Trying to get (more) accurate readings from thermistor (electronics, math, and code inside)
How durable are silver inlays on a blade?
Do you have to have figures when playing D&D?
Remove border lines of SRTM tiles rendered as hillshade
How to write a convincing religious myth?
Does the Nuka-Cola bottler actually generate nuka cola?
Is Dumbledore a human lie detector?
Can there be absolute velocity?
How do we say "within a kilometer radius spherically"?
What should I be wary of when insurer is taking a lot of time to decide whether car is repairable or a total loss?
What do Birth, Age, and Death mean in the first noble truth?
Are the guests in Westworld forbidden to tell the hosts that they are robots?
What should I discuss with my DM prior to my first game?
How to befriend someone who doesn't like to talk?
Is it okay to have a sequel start immediately after the end of the first book?
What is the reason for setting flaps 1 on the ground at high temperatures?
Why is the length of the Kelvin unit of temperature equal to that of the Celsius unit?
shutdown at specific date
What is the difference between shutdown 18:00 and at 18:00 shutdown?Execute a command before shutdownHow to disable wlan0 when shutdownHow to protect against purge of bash history?systemd: How to check scheduled time of a delayed shutdown?Is there a way to perfrom a shutdown and after X seconds start the system again?How to run interactive script on shutdownShutdown script not working as writtenHow to view logs of stop jobs at shutdown on Debian?How can a log print to display while shutdown, reboot or startup?Linux freeze on shutdown problem
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I know that you can schedule a shutdown for a specific time via shutdown -h 21:45
and that you shouldn't use crontabs for such things because of their repetitive nature. How can I schedule a shutdown for a specific date like 31st of August at 20:00pm?
ubuntu shutdown
add a comment |
I know that you can schedule a shutdown for a specific time via shutdown -h 21:45
and that you shouldn't use crontabs for such things because of their repetitive nature. How can I schedule a shutdown for a specific date like 31st of August at 20:00pm?
ubuntu shutdown
add a comment |
I know that you can schedule a shutdown for a specific time via shutdown -h 21:45
and that you shouldn't use crontabs for such things because of their repetitive nature. How can I schedule a shutdown for a specific date like 31st of August at 20:00pm?
ubuntu shutdown
I know that you can schedule a shutdown for a specific time via shutdown -h 21:45
and that you shouldn't use crontabs for such things because of their repetitive nature. How can I schedule a shutdown for a specific date like 31st of August at 20:00pm?
ubuntu shutdown
ubuntu shutdown
asked May 26 at 22:50
HdM UploadHdM Upload
514
514
add a comment |
add a comment |
6 Answers
6
active
oldest
votes
Recent Ubuntu versions use systemd and when the conventional atd
and associated at
scheduler for one-off commands is either not installed or not running a one-off command can be scheduled with systemd-run
which is somewhat easier than manually generating a systemd timer
:
systemd-run --on-calendar="2019-08-31 20:00:00 CET" /sbin/shutdown now
2
The irony is that starting an entire service to do this is almost superfluous. systemd's shutdown mechanism itself supports arbitrary points in time. Its command-line tool simply does not provide the ability to access this, because it is not up to par with the command line of the BSDshutdown
. As I wrote in another answer, you who want this could try persuading the systemd people to make theirshutdown
tool more capable, with syntax of decades' standing, rather than going around the houses withsystemd-run
.
– JdeBP
May 28 at 7:11
I get Invalid calendar spec: 2019-08-31 20:00:00 CET
– HdM Upload
Jun 2 at 14:44
add a comment |
The at
command is for scheduling one off future executions.
e.g.
% at 8pm Aug 31
at> echo hello
at> <EOT>
job 161 at Sat Aug 31 20:00:00 2019
(the "<EOT>" was produced by pressing control-D)
% atq
161 Sat Aug 31 20:00:00 2019 a sweh
You can put your shutdown
command here.
Yes! I had forgotten aboutat
when I posted -at
is definitely meant for this in general, although in a company the accepted method may beat
orcron
, depending on conventions related to configuration management/deployment.
– flow2k
May 27 at 4:57
It is not exactly equivalent, note. unix.stackexchange.com/q/465322/5132
– JdeBP
May 27 at 8:15
at
is also able to take commands from a pipe:echo "echo yup > $(tty)" | at now
.
– mosvy
May 27 at 23:19
add a comment |
While at
is the obvious way to do this, I think it will survive shutdowns, so if the machine reboots before the scheduled shutdown, it might shutdown again at the scheduled time. Therefore, using bash and GNU date we can use a delayed shutdown.
/sbin/shutdown +$(( ( $( date -d "30 may 2019 13:15" +%s ) - $( date +%s ) ) / 60 + 1 ))
NB: This is only accurate to one minute. It works by converting the scheduled time, and now to seconds since the UNIX epoch, calculating the difference, converting to minutes, and then using this as the delay to shutdown. It won't work correctly if the scheduled time is in the past.
add a comment |
You use a better shutdown
command.
The van Smoorenburg, Upstart, and systemd shutdown
commands do not allow a date specification. But the BSD shutdown
command takes a date value in its specification of when to shut down, in the form yymmddhhmm
. This has been the case ever since 4BSD, and remains so with FreeBSD and OpenBSD. NetBSD extended it to ccyymmddhhmm
.
Because the nosh toolset is also usable on the BSDs, I gave my shutdown
command the same capability, extending it to CCYYMMDDHHMM
per NetBSD. And because the nosh toolset is also usable on Linux, that gives Linux a shutdown command that takes dates.
It of course works with the nosh system-manager
. It also works with some other systems. It sends signals to process #1 to enact stuff and the same signals are understood by some other system managers, such as systemd
, which can also be shut down using it.
You could use it, or a tool like it; or you could try to persuade the authors of other Linux shutdown
programs to extend their tools to also be as capable as the BSD shutdown
.
Further reading
- Jonathan de Boyne Pollard (2018).
shutdown
. nosh toolset manual pages. Softwares. - Jonathan de Boyne Pollard (2018).
system-manager
. nosh toolset manual pages. Softwares. shutdown
. System Manager's Manual. NetBSD Manual pages. 2011-11-04.shutdown
. FreeBSD System Managers' Manual. 2018-01-01.shutdown
. OpenBSD Manual pages. 2015-01-21.- https://unix.stackexchange.com/a/465337/5132
add a comment |
To run the job only this year:
0 20 31 8 * test $(/bin/date +%Y) = "2019" && /sbin/shutdown now
To run the job every year:
0 20 31 8 * /sbin/shutdown now
add a comment |
There may be an option to input the year to the shutdown
command, but cron can be used to run commands only once at a specific point in time. For your example, try
0 0 31 8 ? 2019 shutdown
Beware: the above is not standard cron syntax.
2
1. This doesn’t say 20:00 pm, it says midnight. 2. I have never seen a cronjob with SIX fields for the timing. What cron implementation are you referencing?
– Wildcard
May 27 at 1:25
2
There isn't ayear
field in thecrontab
schedule
– Seamus
May 27 at 2:06
I realized afterwards this syntax is not "standard cron", so I agree, it should not be taken at face value. OP seems to imply there is a performance penalty associated with using cron, so in my Answer, I sought to clarify - there isn't any inherently inefficient about cron's implementation that makes unsuitable for one-off task. Is this what you think as well?
– flow2k
May 29 at 7:43
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%2f521201%2fshutdown-at-specific-date%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
6 Answers
6
active
oldest
votes
6 Answers
6
active
oldest
votes
active
oldest
votes
active
oldest
votes
Recent Ubuntu versions use systemd and when the conventional atd
and associated at
scheduler for one-off commands is either not installed or not running a one-off command can be scheduled with systemd-run
which is somewhat easier than manually generating a systemd timer
:
systemd-run --on-calendar="2019-08-31 20:00:00 CET" /sbin/shutdown now
2
The irony is that starting an entire service to do this is almost superfluous. systemd's shutdown mechanism itself supports arbitrary points in time. Its command-line tool simply does not provide the ability to access this, because it is not up to par with the command line of the BSDshutdown
. As I wrote in another answer, you who want this could try persuading the systemd people to make theirshutdown
tool more capable, with syntax of decades' standing, rather than going around the houses withsystemd-run
.
– JdeBP
May 28 at 7:11
I get Invalid calendar spec: 2019-08-31 20:00:00 CET
– HdM Upload
Jun 2 at 14:44
add a comment |
Recent Ubuntu versions use systemd and when the conventional atd
and associated at
scheduler for one-off commands is either not installed or not running a one-off command can be scheduled with systemd-run
which is somewhat easier than manually generating a systemd timer
:
systemd-run --on-calendar="2019-08-31 20:00:00 CET" /sbin/shutdown now
2
The irony is that starting an entire service to do this is almost superfluous. systemd's shutdown mechanism itself supports arbitrary points in time. Its command-line tool simply does not provide the ability to access this, because it is not up to par with the command line of the BSDshutdown
. As I wrote in another answer, you who want this could try persuading the systemd people to make theirshutdown
tool more capable, with syntax of decades' standing, rather than going around the houses withsystemd-run
.
– JdeBP
May 28 at 7:11
I get Invalid calendar spec: 2019-08-31 20:00:00 CET
– HdM Upload
Jun 2 at 14:44
add a comment |
Recent Ubuntu versions use systemd and when the conventional atd
and associated at
scheduler for one-off commands is either not installed or not running a one-off command can be scheduled with systemd-run
which is somewhat easier than manually generating a systemd timer
:
systemd-run --on-calendar="2019-08-31 20:00:00 CET" /sbin/shutdown now
Recent Ubuntu versions use systemd and when the conventional atd
and associated at
scheduler for one-off commands is either not installed or not running a one-off command can be scheduled with systemd-run
which is somewhat easier than manually generating a systemd timer
:
systemd-run --on-calendar="2019-08-31 20:00:00 CET" /sbin/shutdown now
answered May 27 at 11:48
HBruijnHBruijn
5,7981527
5,7981527
2
The irony is that starting an entire service to do this is almost superfluous. systemd's shutdown mechanism itself supports arbitrary points in time. Its command-line tool simply does not provide the ability to access this, because it is not up to par with the command line of the BSDshutdown
. As I wrote in another answer, you who want this could try persuading the systemd people to make theirshutdown
tool more capable, with syntax of decades' standing, rather than going around the houses withsystemd-run
.
– JdeBP
May 28 at 7:11
I get Invalid calendar spec: 2019-08-31 20:00:00 CET
– HdM Upload
Jun 2 at 14:44
add a comment |
2
The irony is that starting an entire service to do this is almost superfluous. systemd's shutdown mechanism itself supports arbitrary points in time. Its command-line tool simply does not provide the ability to access this, because it is not up to par with the command line of the BSDshutdown
. As I wrote in another answer, you who want this could try persuading the systemd people to make theirshutdown
tool more capable, with syntax of decades' standing, rather than going around the houses withsystemd-run
.
– JdeBP
May 28 at 7:11
I get Invalid calendar spec: 2019-08-31 20:00:00 CET
– HdM Upload
Jun 2 at 14:44
2
2
The irony is that starting an entire service to do this is almost superfluous. systemd's shutdown mechanism itself supports arbitrary points in time. Its command-line tool simply does not provide the ability to access this, because it is not up to par with the command line of the BSD
shutdown
. As I wrote in another answer, you who want this could try persuading the systemd people to make their shutdown
tool more capable, with syntax of decades' standing, rather than going around the houses with systemd-run
.– JdeBP
May 28 at 7:11
The irony is that starting an entire service to do this is almost superfluous. systemd's shutdown mechanism itself supports arbitrary points in time. Its command-line tool simply does not provide the ability to access this, because it is not up to par with the command line of the BSD
shutdown
. As I wrote in another answer, you who want this could try persuading the systemd people to make their shutdown
tool more capable, with syntax of decades' standing, rather than going around the houses with systemd-run
.– JdeBP
May 28 at 7:11
I get Invalid calendar spec: 2019-08-31 20:00:00 CET
– HdM Upload
Jun 2 at 14:44
I get Invalid calendar spec: 2019-08-31 20:00:00 CET
– HdM Upload
Jun 2 at 14:44
add a comment |
The at
command is for scheduling one off future executions.
e.g.
% at 8pm Aug 31
at> echo hello
at> <EOT>
job 161 at Sat Aug 31 20:00:00 2019
(the "<EOT>" was produced by pressing control-D)
% atq
161 Sat Aug 31 20:00:00 2019 a sweh
You can put your shutdown
command here.
Yes! I had forgotten aboutat
when I posted -at
is definitely meant for this in general, although in a company the accepted method may beat
orcron
, depending on conventions related to configuration management/deployment.
– flow2k
May 27 at 4:57
It is not exactly equivalent, note. unix.stackexchange.com/q/465322/5132
– JdeBP
May 27 at 8:15
at
is also able to take commands from a pipe:echo "echo yup > $(tty)" | at now
.
– mosvy
May 27 at 23:19
add a comment |
The at
command is for scheduling one off future executions.
e.g.
% at 8pm Aug 31
at> echo hello
at> <EOT>
job 161 at Sat Aug 31 20:00:00 2019
(the "<EOT>" was produced by pressing control-D)
% atq
161 Sat Aug 31 20:00:00 2019 a sweh
You can put your shutdown
command here.
Yes! I had forgotten aboutat
when I posted -at
is definitely meant for this in general, although in a company the accepted method may beat
orcron
, depending on conventions related to configuration management/deployment.
– flow2k
May 27 at 4:57
It is not exactly equivalent, note. unix.stackexchange.com/q/465322/5132
– JdeBP
May 27 at 8:15
at
is also able to take commands from a pipe:echo "echo yup > $(tty)" | at now
.
– mosvy
May 27 at 23:19
add a comment |
The at
command is for scheduling one off future executions.
e.g.
% at 8pm Aug 31
at> echo hello
at> <EOT>
job 161 at Sat Aug 31 20:00:00 2019
(the "<EOT>" was produced by pressing control-D)
% atq
161 Sat Aug 31 20:00:00 2019 a sweh
You can put your shutdown
command here.
The at
command is for scheduling one off future executions.
e.g.
% at 8pm Aug 31
at> echo hello
at> <EOT>
job 161 at Sat Aug 31 20:00:00 2019
(the "<EOT>" was produced by pressing control-D)
% atq
161 Sat Aug 31 20:00:00 2019 a sweh
You can put your shutdown
command here.
answered May 26 at 23:25
Stephen HarrisStephen Harris
28.2k35584
28.2k35584
Yes! I had forgotten aboutat
when I posted -at
is definitely meant for this in general, although in a company the accepted method may beat
orcron
, depending on conventions related to configuration management/deployment.
– flow2k
May 27 at 4:57
It is not exactly equivalent, note. unix.stackexchange.com/q/465322/5132
– JdeBP
May 27 at 8:15
at
is also able to take commands from a pipe:echo "echo yup > $(tty)" | at now
.
– mosvy
May 27 at 23:19
add a comment |
Yes! I had forgotten aboutat
when I posted -at
is definitely meant for this in general, although in a company the accepted method may beat
orcron
, depending on conventions related to configuration management/deployment.
– flow2k
May 27 at 4:57
It is not exactly equivalent, note. unix.stackexchange.com/q/465322/5132
– JdeBP
May 27 at 8:15
at
is also able to take commands from a pipe:echo "echo yup > $(tty)" | at now
.
– mosvy
May 27 at 23:19
Yes! I had forgotten about
at
when I posted - at
is definitely meant for this in general, although in a company the accepted method may be at
or cron
, depending on conventions related to configuration management/deployment.– flow2k
May 27 at 4:57
Yes! I had forgotten about
at
when I posted - at
is definitely meant for this in general, although in a company the accepted method may be at
or cron
, depending on conventions related to configuration management/deployment.– flow2k
May 27 at 4:57
It is not exactly equivalent, note. unix.stackexchange.com/q/465322/5132
– JdeBP
May 27 at 8:15
It is not exactly equivalent, note. unix.stackexchange.com/q/465322/5132
– JdeBP
May 27 at 8:15
at
is also able to take commands from a pipe: echo "echo yup > $(tty)" | at now
.– mosvy
May 27 at 23:19
at
is also able to take commands from a pipe: echo "echo yup > $(tty)" | at now
.– mosvy
May 27 at 23:19
add a comment |
While at
is the obvious way to do this, I think it will survive shutdowns, so if the machine reboots before the scheduled shutdown, it might shutdown again at the scheduled time. Therefore, using bash and GNU date we can use a delayed shutdown.
/sbin/shutdown +$(( ( $( date -d "30 may 2019 13:15" +%s ) - $( date +%s ) ) / 60 + 1 ))
NB: This is only accurate to one minute. It works by converting the scheduled time, and now to seconds since the UNIX epoch, calculating the difference, converting to minutes, and then using this as the delay to shutdown. It won't work correctly if the scheduled time is in the past.
add a comment |
While at
is the obvious way to do this, I think it will survive shutdowns, so if the machine reboots before the scheduled shutdown, it might shutdown again at the scheduled time. Therefore, using bash and GNU date we can use a delayed shutdown.
/sbin/shutdown +$(( ( $( date -d "30 may 2019 13:15" +%s ) - $( date +%s ) ) / 60 + 1 ))
NB: This is only accurate to one minute. It works by converting the scheduled time, and now to seconds since the UNIX epoch, calculating the difference, converting to minutes, and then using this as the delay to shutdown. It won't work correctly if the scheduled time is in the past.
add a comment |
While at
is the obvious way to do this, I think it will survive shutdowns, so if the machine reboots before the scheduled shutdown, it might shutdown again at the scheduled time. Therefore, using bash and GNU date we can use a delayed shutdown.
/sbin/shutdown +$(( ( $( date -d "30 may 2019 13:15" +%s ) - $( date +%s ) ) / 60 + 1 ))
NB: This is only accurate to one minute. It works by converting the scheduled time, and now to seconds since the UNIX epoch, calculating the difference, converting to minutes, and then using this as the delay to shutdown. It won't work correctly if the scheduled time is in the past.
While at
is the obvious way to do this, I think it will survive shutdowns, so if the machine reboots before the scheduled shutdown, it might shutdown again at the scheduled time. Therefore, using bash and GNU date we can use a delayed shutdown.
/sbin/shutdown +$(( ( $( date -d "30 may 2019 13:15" +%s ) - $( date +%s ) ) / 60 + 1 ))
NB: This is only accurate to one minute. It works by converting the scheduled time, and now to seconds since the UNIX epoch, calculating the difference, converting to minutes, and then using this as the delay to shutdown. It won't work correctly if the scheduled time is in the past.
answered May 27 at 10:54
CSMCSM
90264
90264
add a comment |
add a comment |
You use a better shutdown
command.
The van Smoorenburg, Upstart, and systemd shutdown
commands do not allow a date specification. But the BSD shutdown
command takes a date value in its specification of when to shut down, in the form yymmddhhmm
. This has been the case ever since 4BSD, and remains so with FreeBSD and OpenBSD. NetBSD extended it to ccyymmddhhmm
.
Because the nosh toolset is also usable on the BSDs, I gave my shutdown
command the same capability, extending it to CCYYMMDDHHMM
per NetBSD. And because the nosh toolset is also usable on Linux, that gives Linux a shutdown command that takes dates.
It of course works with the nosh system-manager
. It also works with some other systems. It sends signals to process #1 to enact stuff and the same signals are understood by some other system managers, such as systemd
, which can also be shut down using it.
You could use it, or a tool like it; or you could try to persuade the authors of other Linux shutdown
programs to extend their tools to also be as capable as the BSD shutdown
.
Further reading
- Jonathan de Boyne Pollard (2018).
shutdown
. nosh toolset manual pages. Softwares. - Jonathan de Boyne Pollard (2018).
system-manager
. nosh toolset manual pages. Softwares. shutdown
. System Manager's Manual. NetBSD Manual pages. 2011-11-04.shutdown
. FreeBSD System Managers' Manual. 2018-01-01.shutdown
. OpenBSD Manual pages. 2015-01-21.- https://unix.stackexchange.com/a/465337/5132
add a comment |
You use a better shutdown
command.
The van Smoorenburg, Upstart, and systemd shutdown
commands do not allow a date specification. But the BSD shutdown
command takes a date value in its specification of when to shut down, in the form yymmddhhmm
. This has been the case ever since 4BSD, and remains so with FreeBSD and OpenBSD. NetBSD extended it to ccyymmddhhmm
.
Because the nosh toolset is also usable on the BSDs, I gave my shutdown
command the same capability, extending it to CCYYMMDDHHMM
per NetBSD. And because the nosh toolset is also usable on Linux, that gives Linux a shutdown command that takes dates.
It of course works with the nosh system-manager
. It also works with some other systems. It sends signals to process #1 to enact stuff and the same signals are understood by some other system managers, such as systemd
, which can also be shut down using it.
You could use it, or a tool like it; or you could try to persuade the authors of other Linux shutdown
programs to extend their tools to also be as capable as the BSD shutdown
.
Further reading
- Jonathan de Boyne Pollard (2018).
shutdown
. nosh toolset manual pages. Softwares. - Jonathan de Boyne Pollard (2018).
system-manager
. nosh toolset manual pages. Softwares. shutdown
. System Manager's Manual. NetBSD Manual pages. 2011-11-04.shutdown
. FreeBSD System Managers' Manual. 2018-01-01.shutdown
. OpenBSD Manual pages. 2015-01-21.- https://unix.stackexchange.com/a/465337/5132
add a comment |
You use a better shutdown
command.
The van Smoorenburg, Upstart, and systemd shutdown
commands do not allow a date specification. But the BSD shutdown
command takes a date value in its specification of when to shut down, in the form yymmddhhmm
. This has been the case ever since 4BSD, and remains so with FreeBSD and OpenBSD. NetBSD extended it to ccyymmddhhmm
.
Because the nosh toolset is also usable on the BSDs, I gave my shutdown
command the same capability, extending it to CCYYMMDDHHMM
per NetBSD. And because the nosh toolset is also usable on Linux, that gives Linux a shutdown command that takes dates.
It of course works with the nosh system-manager
. It also works with some other systems. It sends signals to process #1 to enact stuff and the same signals are understood by some other system managers, such as systemd
, which can also be shut down using it.
You could use it, or a tool like it; or you could try to persuade the authors of other Linux shutdown
programs to extend their tools to also be as capable as the BSD shutdown
.
Further reading
- Jonathan de Boyne Pollard (2018).
shutdown
. nosh toolset manual pages. Softwares. - Jonathan de Boyne Pollard (2018).
system-manager
. nosh toolset manual pages. Softwares. shutdown
. System Manager's Manual. NetBSD Manual pages. 2011-11-04.shutdown
. FreeBSD System Managers' Manual. 2018-01-01.shutdown
. OpenBSD Manual pages. 2015-01-21.- https://unix.stackexchange.com/a/465337/5132
You use a better shutdown
command.
The van Smoorenburg, Upstart, and systemd shutdown
commands do not allow a date specification. But the BSD shutdown
command takes a date value in its specification of when to shut down, in the form yymmddhhmm
. This has been the case ever since 4BSD, and remains so with FreeBSD and OpenBSD. NetBSD extended it to ccyymmddhhmm
.
Because the nosh toolset is also usable on the BSDs, I gave my shutdown
command the same capability, extending it to CCYYMMDDHHMM
per NetBSD. And because the nosh toolset is also usable on Linux, that gives Linux a shutdown command that takes dates.
It of course works with the nosh system-manager
. It also works with some other systems. It sends signals to process #1 to enact stuff and the same signals are understood by some other system managers, such as systemd
, which can also be shut down using it.
You could use it, or a tool like it; or you could try to persuade the authors of other Linux shutdown
programs to extend their tools to also be as capable as the BSD shutdown
.
Further reading
- Jonathan de Boyne Pollard (2018).
shutdown
. nosh toolset manual pages. Softwares. - Jonathan de Boyne Pollard (2018).
system-manager
. nosh toolset manual pages. Softwares. shutdown
. System Manager's Manual. NetBSD Manual pages. 2011-11-04.shutdown
. FreeBSD System Managers' Manual. 2018-01-01.shutdown
. OpenBSD Manual pages. 2015-01-21.- https://unix.stackexchange.com/a/465337/5132
answered May 27 at 9:11
JdeBPJdeBP
40.1k484196
40.1k484196
add a comment |
add a comment |
To run the job only this year:
0 20 31 8 * test $(/bin/date +%Y) = "2019" && /sbin/shutdown now
To run the job every year:
0 20 31 8 * /sbin/shutdown now
add a comment |
To run the job only this year:
0 20 31 8 * test $(/bin/date +%Y) = "2019" && /sbin/shutdown now
To run the job every year:
0 20 31 8 * /sbin/shutdown now
add a comment |
To run the job only this year:
0 20 31 8 * test $(/bin/date +%Y) = "2019" && /sbin/shutdown now
To run the job every year:
0 20 31 8 * /sbin/shutdown now
To run the job only this year:
0 20 31 8 * test $(/bin/date +%Y) = "2019" && /sbin/shutdown now
To run the job every year:
0 20 31 8 * /sbin/shutdown now
answered May 26 at 23:58
FreddyFreddy
4,3381420
4,3381420
add a comment |
add a comment |
There may be an option to input the year to the shutdown
command, but cron can be used to run commands only once at a specific point in time. For your example, try
0 0 31 8 ? 2019 shutdown
Beware: the above is not standard cron syntax.
2
1. This doesn’t say 20:00 pm, it says midnight. 2. I have never seen a cronjob with SIX fields for the timing. What cron implementation are you referencing?
– Wildcard
May 27 at 1:25
2
There isn't ayear
field in thecrontab
schedule
– Seamus
May 27 at 2:06
I realized afterwards this syntax is not "standard cron", so I agree, it should not be taken at face value. OP seems to imply there is a performance penalty associated with using cron, so in my Answer, I sought to clarify - there isn't any inherently inefficient about cron's implementation that makes unsuitable for one-off task. Is this what you think as well?
– flow2k
May 29 at 7:43
add a comment |
There may be an option to input the year to the shutdown
command, but cron can be used to run commands only once at a specific point in time. For your example, try
0 0 31 8 ? 2019 shutdown
Beware: the above is not standard cron syntax.
2
1. This doesn’t say 20:00 pm, it says midnight. 2. I have never seen a cronjob with SIX fields for the timing. What cron implementation are you referencing?
– Wildcard
May 27 at 1:25
2
There isn't ayear
field in thecrontab
schedule
– Seamus
May 27 at 2:06
I realized afterwards this syntax is not "standard cron", so I agree, it should not be taken at face value. OP seems to imply there is a performance penalty associated with using cron, so in my Answer, I sought to clarify - there isn't any inherently inefficient about cron's implementation that makes unsuitable for one-off task. Is this what you think as well?
– flow2k
May 29 at 7:43
add a comment |
There may be an option to input the year to the shutdown
command, but cron can be used to run commands only once at a specific point in time. For your example, try
0 0 31 8 ? 2019 shutdown
Beware: the above is not standard cron syntax.
There may be an option to input the year to the shutdown
command, but cron can be used to run commands only once at a specific point in time. For your example, try
0 0 31 8 ? 2019 shutdown
Beware: the above is not standard cron syntax.
edited May 29 at 7:43
answered May 26 at 23:01
flow2kflow2k
234214
234214
2
1. This doesn’t say 20:00 pm, it says midnight. 2. I have never seen a cronjob with SIX fields for the timing. What cron implementation are you referencing?
– Wildcard
May 27 at 1:25
2
There isn't ayear
field in thecrontab
schedule
– Seamus
May 27 at 2:06
I realized afterwards this syntax is not "standard cron", so I agree, it should not be taken at face value. OP seems to imply there is a performance penalty associated with using cron, so in my Answer, I sought to clarify - there isn't any inherently inefficient about cron's implementation that makes unsuitable for one-off task. Is this what you think as well?
– flow2k
May 29 at 7:43
add a comment |
2
1. This doesn’t say 20:00 pm, it says midnight. 2. I have never seen a cronjob with SIX fields for the timing. What cron implementation are you referencing?
– Wildcard
May 27 at 1:25
2
There isn't ayear
field in thecrontab
schedule
– Seamus
May 27 at 2:06
I realized afterwards this syntax is not "standard cron", so I agree, it should not be taken at face value. OP seems to imply there is a performance penalty associated with using cron, so in my Answer, I sought to clarify - there isn't any inherently inefficient about cron's implementation that makes unsuitable for one-off task. Is this what you think as well?
– flow2k
May 29 at 7:43
2
2
1. This doesn’t say 20:00 pm, it says midnight. 2. I have never seen a cronjob with SIX fields for the timing. What cron implementation are you referencing?
– Wildcard
May 27 at 1:25
1. This doesn’t say 20:00 pm, it says midnight. 2. I have never seen a cronjob with SIX fields for the timing. What cron implementation are you referencing?
– Wildcard
May 27 at 1:25
2
2
There isn't a
year
field in the crontab
schedule– Seamus
May 27 at 2:06
There isn't a
year
field in the crontab
schedule– Seamus
May 27 at 2:06
I realized afterwards this syntax is not "standard cron", so I agree, it should not be taken at face value. OP seems to imply there is a performance penalty associated with using cron, so in my Answer, I sought to clarify - there isn't any inherently inefficient about cron's implementation that makes unsuitable for one-off task. Is this what you think as well?
– flow2k
May 29 at 7:43
I realized afterwards this syntax is not "standard cron", so I agree, it should not be taken at face value. OP seems to imply there is a performance penalty associated with using cron, so in my Answer, I sought to clarify - there isn't any inherently inefficient about cron's implementation that makes unsuitable for one-off task. Is this what you think as well?
– flow2k
May 29 at 7:43
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.
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%2f521201%2fshutdown-at-specific-date%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