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?
Why is 10.1.255.255 an invalid broadcast address?
Can an Unconscious PC hear you?
If equal temperament divides octave into 12 equal parts, why hertz differences are not the same but element 12th of two?
Given a fibonacci number , find just next fibonacci number
If you have a negative spellcasting ability modifier, how much damage does the Green-Flame Blade cantrip do to the second target below level 5?
In this day and age should the definition / categorisation of erotica be revised?
Is it unusual that English uses possessive for past tense?
How to get to Antarctica without using a travel company
Are my triangles similar?
FPGA starts working after irrelevant changes, why?
As a vegetarian, how can I deal with microwaves smelling of meat and fish?
Is this a new characteristic function for the primes?
Did the US push the Kurds to lower their defences against Turkey in the months preceding the latest Turkish military operation against them?
I can use x = y = z. Why not x < y < z?
Does Turkey make the "structural steel frame" for the F-35 fighter?
What are these objects near the Cosmonaut's faces?
I don't want my ls command in my script to print results on screen
If you pass through the order of colors in Prismatic Wall one way, do you reverse the order of colors passing through the other way?
Was Switzerland pressured either by Allies or Axis to take part in World War 2 at any time?
What is the name of this Korean mobile sports game?
Does using an img title attribute in addition to the alt attribute help image SEO?
Could you use uppercase or special characters in a password in early Unix?
What is gerrymandering called if it's not the result of redrawing districts?
What would a chair for a Human with a Tail look like?
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?
.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
615 bronze badges
615 bronze badges
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/4.0/"u003ecc by-sa 4.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
6,00317 silver badges28 bronze badges
6,00317 silver badges28 bronze badges
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
29.5k3 gold badges57 silver badges85 bronze badges
29.5k3 gold badges57 silver badges85 bronze badges
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
1,2026 silver badges4 bronze badges
1,2026 silver badges4 bronze badges
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
42k5 gold badges91 silver badges205 bronze badges
42k5 gold badges91 silver badges205 bronze badges
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
8,9431 gold badge6 silver badges29 bronze badges
8,9431 gold badge6 silver badges29 bronze badges
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
2492 silver badges14 bronze badges
2492 silver badges14 bronze badges
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